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
相关推荐
Amelio_Ming2 小时前
Permissions 0755 for ‘/etc/ssh/ssh_host_rsa_key‘ are too open.问题解决
linux·运维·ssh
Diamond技术流20 小时前
从0开始学习Linux——远程连接工具
linux·学习·centos·ssh·xshell·ftp
恒创科技HK2 天前
ssh和ssl的区别在哪些方面?
运维·ssh·ssl
上烟雨心上尘2 天前
通过 ssh config 快速免密连接服务器
运维·服务器·ssh
就叫你天选之人啦3 天前
vscode ssh连接autodl失败
linux·ide·笔记·vscode·ssh
Linux运维日记4 天前
Rocky Linux 9安装后无法远程ssh密码登录解决
linux·运维·ssh
yunteng5214 天前
VisualStudio远程编译调试linux_c++程序(二)
linux·c++·ssh·gdb·visual studio·remote
mhl11074 天前
Linux 上安装 conda 步骤实现
linux·运维·ubuntu·centos·ssh·conda·运维开发
会飞的爱迪生4 天前
只允许指定ip远程连接ssh
服务器·ssh
iTarget4 天前
使用ssh-key免密登录服务器或免密连接git代码仓库网站
运维·git·ssh