编辑
2025-03-11
Linux运维
00

目录

1. 安装 sshpass
3. 添加 crontab 任务
4. 验证任务
常见问题
1. cron 服务未找到
2. 任务未执行

1. 安装 sshpass

sshpass 是一个可以自动输入密码的工具。如果未安装,运行以下命令安装: • 对于 Debian/Ubuntu 系统:

bash
apt update && apt install sshpass

• 对于 CentOS/RHEL 系统:

bash
yum install sshpass

2. 编写 rsync 命令

假设您需要将远程服务器的 /root/vanblog 目录同步到本地的 /root/vanblog 目录,命令如下:

bash
/usr/bin/sshpass -p 'your_password' /usr/bin/rsync -avz -e "ssh -i /root/id_rsa" [email protected]:/root/vanblog /root/vanblog

your_password 替换为您的 SSH 密码。

3. 添加 crontab 任务

编辑 crontab 文件:

bash
crontab -e

添加以下行,每天下午 15:00 执行任务:

bash
0 15 * * * /usr/bin/sshpass -p 'your_password' /usr/bin/rsync -avz -e "ssh -i /root/id_rsa" [email protected]:/root/vanblog /root/vanblog >> /root/rsync.log 2>&1

your_password 替换为您的 SSH 密码。

4. 验证任务

查看 crontab 任务:

bash
crontab -l

等待 15:00 后,检查 /root/rsync.log 文件,确认任务是否执行成功。


常见问题

1. cron 服务未找到

如果运行 systemctl status cron 时提示 Unit cron.service could not be found,检查 crond 服务:

bash
systemctl status crond

如果未运行,启动并启用它:

bash
systemctl start crond systemctl enable crond

2. 任务未执行

• 检查 cron 服务是否正常运行:

bash
systemctl status crond

• 确保任务路径正确,使用绝对路径。 • 查看日志文件(如 /var/log/cron/var/log/syslog)排查问题。

如果对你有用的话,可以打赏哦
打赏
ali pay
wechat pay

本文作者:Dong

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC。本作品采用《知识共享署名-非商业性使用 4.0 国际许可协议》进行许可。您可以在非商业用途下自由转载和修改,但必须注明出处并提供原作者链接。 许可协议。转载请注明出处!