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
相关推荐
贺贺丿1 天前
Docker4-容器化企业级应用
linux·nginx·docker·云原生·eureka·tomcat·ssh
彦楠1 天前
win通过OpenSSL生成.ssh id_rsa密钥方法
运维·ssh
猫头虎1 天前
[精选] 2025最新生成 SSH 密钥和 SSL 证书的标准流程(Linux/macOS/Windows系统服务器通用方案)
linux·服务器·开发语言·macos·ssh·ssl·ai编程
闲看云起2 天前
如何将多台电脑用统一账户连接服务器
服务器·安全·ssh
心如止水-WTF3 天前
vscode 一直连不上远程,网络是通的,ssh 也能直接登录远程
网络·vscode·ssh
magic_kid_20104 天前
如何将 git 远程 URL 从 https 更改为 ssh
运维·git·ssh
chen_note5 天前
Linux网络信息(含ssh服务和rsync)
linux·运维·服务器·网络·ssh·远程工作·rsync
cpsvps8 天前
香港服务器SSH安全加固方案与密钥认证实践
服务器·安全·ssh
arvin_xiaoting8 天前
#vscode# #SSH远程# #Ubuntu 16.04# 远程ubuntu旧版Linux
linux·vscode·ssh
zcg194210 天前
工作第一步建立连接——ssh
运维·服务器·ssh