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
相关推荐
Julien20042 天前
Docker 容器存储原理(一)
linux·运维·服务器·ssh·学习方法
Polevne2 天前
C# SFTP客户端实现文件传输
c#·ssh
Julien20043 天前
Docker 容器技术的本质
运维·服务器·ssh·学习方法
qetfw4 天前
Debian SSH 与 SFTP 分离:独立端口、Chroot 隔离与 internal-sftp
debian·ssh
多巴胺耐受6 天前
解决WSL关闭终端就会关机的问题
ssh
Databuff6 天前
五款主流 SSH 免费工具介绍
运维·ssh·运维开发
程序员大阳8 天前
使用Putty登录阿里云Ubuntu ECS服务器方法
ubuntu·云计算·ssh·ecs·putty
ShiXZ21310 天前
SSH 客户端常用指令与配置速查手册
运维·ssh
我爱吃土豆110 天前
AI 编程工具远程开发指南:Codex 桌面版与 WorkBuddy 通过 SSH 连接云服务器实践
服务器·人工智能·ssh
进击的炸酱面11 天前
如何在服务器中使用codex?代理配置一图详解
ide·vscode·ssh