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 小时前
windSurf远程连接ssh过慢问题
运维·ssh
F1FJJ1 小时前
开源实践:用 Go 实现浏览器直连内网 RDP/SSH/VNC
运维·网络·网络协议·网络安全·golang·ssh
没头脑的男大20 小时前
关于tailscale和ssh那些事儿
运维·服务器·ssh
HealthScience21 小时前
github怎么授权ssh(私人库授权)
运维·ssh·github
乔宕一1 天前
windows SSH服务修改SSH登陆后的默认终端
运维·windows·ssh
七七powerful1 天前
运维养龙虾--使用腾讯workbuddy部署ssh-mcp-server允许通过 MCP 协议远程执行 SSH 命令
运维·ssh·ssh-mcp
亚林瓜子2 天前
linux账号强制密码过期导致私钥文件登录异常问题——(current) UNIX password:
linux·运维·服务器·ssh·aws·ec2·chage
pillowss2 天前
SSH 登录服务器后 Backspace 失效?Ghostty + TERM 踩坑完整解决方案
服务器·ssh·github
不解不惑2 天前
MacOS系统ssh和ftp,使用vscode实现
vscode·macos·ssh
i建模3 天前
通过命令行使用密钥登录远程SSH主机
运维·ssh