正在寻找简单的 scp 脚本。SSH 密钥已设置

正在寻找简单的 scp 脚本。SSH 密钥已设置

我有一台远程服务器和一台本地服务器。我正尝试将远程服务器上的夜间备份自动传输到本地服务器。SSH 密钥已设置,因此不需要密码。

使用以下命令,它可以手动工作:

scp -r -P {REMOTEPORT} user@serveripaddress:/home/remoteuser/directory /home/localuser/directory

我想设置一个 cronjob 来运行上一个操作,但我对编写实际脚本还不熟悉。有没有一个简单的脚本可以实现这一点?

答案1

您可以编写一个简单的脚本,例如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

附言:如果您遇到麻烦,我们当然可以提供帮助,但我强烈建议您阅读此内容以进行调试:为什么我的 crontab 不工作?我该如何排除故障?

相关内容