rsync 自动输入密码

文章介绍了如何利用expect命令在Linux中自动输入密码,以实现后台执行rsync进行数据集的下载。通过创建run_rsync.sh脚本,设置spawn命令启动rsync,并用expect捕获并应答密码提示,从而无须人工交互。最后,可以通过nohup命令将脚本放到后台运行,并使用tail-f监控输出日志。
摘要由CSDN通过智能技术生成

自动输入密码,这样我们就可以后台执行了。

非常简单,使用expect命令,没有的话:

apt install expect

举一个下载eeg数据集的例子

编辑下面一个文件,比如叫做run_rsync.sh

#!/usr/bin/expect

# -1的意思是永不退出,直到命令结束
set timeout -1

# spawn就是启动后面的命令, -P 代表断点重连。
spawn rsync -auxvLP --delete nedc-eeg@www.isip.piconepress.com:data/eeg/xx my_dir/


# 原理: 就是你执行上面那句话的时候,弹出来的问题是什么,用正则表达式来捕获, 所以任何场景都可以用expect。

# 如果用nohup的话,就注释掉
#expect "*continue connecting*"
# 捕获以后,用send命令输入需要执行的内容,\r代表回车。
#send "yes\r"

# 捕获弹出的问题:
expect "*password*"
# 然后发送密码
send "your_password\r"
expect eof

ok了,直接执行expect run_rsync.sh即可,如果需要后台执行:

nohup expect run_rsync.sh &

然后查看进度:

tail -f nohup.out

ok了,学会了吗?

ps:

如果想要这个eeg数据集,点这里

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值