我有一个远程服务器和本地服务器。 我正在尝试自动将远程服务器上的夜间备份传输到本地服务器上。 SSH密钥是安装的,所以不需要密码。
使用下面的命令,它手动工作:
scp -r -P {REMOTEPORT} user@serveripaddress:/home/remoteuser/directory /home/localuser/directory
我想设置一个cronjob,以便前面的操作运行,但是我是新编写实际的脚本。 有没有一个简单的脚本,会使这发生?
你可以写一个简单的脚本,比如说backup.sh :
#!/bin/bash /usr/bin/scp -r -P {REMOTEPORT} user@serveripaddress:/home/remoteuser/directory /home/localuser/directory
使用chmod +x backup.sh来执行它
然后,编辑crontab( crontab -e )并设置它:
0 0 * * * /path/to/backup.sh > /var/log/backup.log 2>&1
另外,你可以直接从cron( crontab -e )运行它:
0 0 * * * /usr/bin/scp -r -P {REMOTEPORT} user@serveripaddress:/home/remoteuser/directory /home/localuser/directory > /var/log/backup.log 2>&1
ps:如果遇到麻烦,当然我们可以帮忙,但我强烈build议阅读这个debugging: 为什么我的crontab不工作,我该如何排除故障?