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
相关推荐
我狸才不是赔钱货3 小时前
揭开命令行的面纱:终端、CLI、Shell的终极辨析
vscode·ssh·bash
chenzfp3 小时前
【运维】鲲鹏麒麟V10 操作系统aarch64自制OpenSSH 9.8p1 rpm包 ssh漏洞修复
运维·ssh
这周也會开心1 天前
通过ssh连接GitHub远程仓库
运维·ssh·github
JohnYan1 天前
工作笔记 - VSCode ssh远程开发
javascript·ssh·visual studio code
一张假钞2 天前
Ubuntu SSH 免密码登陆
linux·ubuntu·ssh
Swift社区3 天前
LeetCode 401 - 二进制手表
算法·leetcode·ssh
ITKEY_3 天前
ssh中neovim无法复制文本 clipboard
运维·ssh
oneslide3 天前
openssh10.0p1 源码构建安装 & rpm安装包构建
ssh
mixboot4 天前
Ubuntu 24.04 修改 ssh 监听端口
ssh·ubuntu 24.04·ssh.socket
tritone4 天前
在优豆云免费云服务器上初探SSH与SCP的便捷操作
运维·服务器·ssh