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 天前
gitea本地部署代码托管后仓库的新建与使用(配置好ssh密钥后仍然无法正常克隆仓库是什么原因)
运维·ssh·gitea
fangeqin1 天前
CentOS 8解决ssh连接github时sign_and_send_pubkey失败问题
centos·ssh·github
阿乾之铭2 天前
推送项目到GitHub
ssh·github·bash
aashuii2 天前
go客户端ssh交换机
开发语言·golang·ssh
小声读源码2 天前
【技巧】使用frpc安全地内网穿透ssh访问内网机器
运维·安全·ssh·内网穿透·frpc
洛克希德马丁2 天前
最简单的方式突破远程桌面封锁
ssh·代理·socks
莫到空离2 天前
SSH服务与rsync服务配置实战
大数据·服务器·ssh
MALLYUN2 天前
ssh 服务和 rsync 数据同步
linux·服务器·ssh
“αβ”2 天前
Linux-多线程安全
linux·运维·服务器·ssh·github·线程·进程
Stuild Stuil2 天前
Ubuntu 多网卡安全路由配置(SSH 不断线版)
安全·ubuntu·ssh