SHELL 脚本: 导出NEO4j DUMP并上传SFTP

前提

开通sftp账号

安装expect

示例

sh 复制代码
NEO4J_HOME=/path/to/neo4j # neo4j 安装目录
DUMP_PATH=/data/dump # DUMP本地保存目录
DUMP_FILE=neo4j_$(date +%F).dump #导出文件名称
UPLOAD_DIR=/path/to/stfp/dump/  #上传目录
$NEO4J_HOME/bin/neo4j-admin dump --database=neo4j --to=$DUMP_PATH/$DUMP_FILE

ftp_ip=xx.xx.xx.xx
ftp_port=222
ftp_user=xxxxx
ftp_password=xxxxxxx

/usr/bin/expect <<-EOF
set timeout 100
spawn sftp -P $ftp_port $ftp_user@$ftp_ip
expect {
"*yes/no*" { send "yes
"; exp_continue }
"*assword:" { send "$ftp_password
" }
}
expect "sftp>"
send "lcd ${DUMP_PATH}
"
expect "sftp>"
send "cd ${UPLOAD_DIR}
"

expect "sftp>"
set timeout -1
send "put $DUMP_FILE
"

expect "sftp>"
send "quit
"
expect eof
EOF
相关推荐
Q16849645151 天前
基于VMware的ubuntu与vscode建立ssh连接
vscode·ubuntu·ssh
davenian1 天前
< OS 有关 > 阿里云 几个小时前 使用密钥替换 SSH 密码认证后, 发现主机正在被“攻击” 分析与应对
ubuntu·阿里云·ssh·网络攻击·fail2ban
**kwargs3 天前
ssh密钥登录GitHub时一直提示“Error: Permission denied (publickey)”
运维·ssh·github
davenian4 天前
< OS 有关 > Android 手机 SSH 客户端 app: connectBot
运维·服务器·网络安全·ssh
wit_@7 天前
深入理解SSH:安全远程登录与高级应用
linux·运维·web安全·ssh·kail
wingaso8 天前
[Linux]el8安全配置faillock:登录失败达阈值自动锁定账户配置
linux·运维·安全·ssh
what_20189 天前
GitLab配置免密登录和常用命令
运维·ssh
Better Bench9 天前
git Bash通过SSH key 登录github的详细步骤
git·ssh·bash
多则惑少则明9 天前
SSM开发(一)JAVA,javaEE,spring,springmvc,springboot,SSM,SSH等几个概念区别
spring boot·spring·ssh
放飞自我的Coder10 天前
使用 ECS服务器 和 vsCode 搭建远程开发站
vscode·ssh