定时任务crontab工具配置说明
定时任务crontab工具配置说明
主要就是两个指令:
1. crontab -l
显示当前crontab文件的工作内容;
第一次执行要输入一个y,确认一下权限;
2. crontab -e
第二个指令就是编辑了:
第一个执行的时候,需要选择哪个文件,选择推荐的就行了。
比如我写的就是下面的一个指令:
*/1 * * * * sshpass -p 'mypassword' rsync -avu --progress /home/robot/DRLib-D2S/ lyl@192.168.12.9:/home/robot2/robot_code/DRLibD2S/
关于crontab -e怎么保存退出的操作。
摁住ESC,然后x,就可以保存退出了。
3. crontab的定时规则:
分钟(0-59) 小时(0-24) 日(1-31) 月(1-12) 星期(0-6) 要执行的命令
在上图中,星号表示特定的时间块。
要 每分钟 执行一次 cron 任务,需使用如下格式。
* * * * * <command-to-execute>
其中<command-to-execute>
要被完整的替代为你的命令,比如* * * * * mkdir demo_dir
要每 5 分钟运行一次 cron 任务,请在 crontab 文件中添加以下内容。
*/5 * * * * <command-to-execute>
要在每 1/4 个小时(每 15 分钟)运行一次 cron 任务,请添加以下内容:
*/15 * * * * <command-to-execute>
要每小时的第 30 分钟运行一次 cron 任务,请运行:
30 * * * * <command-to-execute>
您还可以使用逗号定义多个时间间隔。例如,以下 cron 任务每小时运行三次,分别在第 0、 5 和 10 分钟运行:
0,5,10 * * * * <command-to-execute>
每半小时运行一次 cron 任务:
30 * * * * <command-to-execute>
每小时运行一次:
0 * * * * <command-to-execute>
4.sshpass免密码操作!
一般来说直接rsync,每次都需要输入密码。
--password-file=/etc/rsync.pass的操作
sshpass的包,可以直接在命令行将密码直接传进去:
sudo apt-get install sshpass -y
现在终于可以实现服务器a同步到服务器b了:
在服务器a上输入:
crontab -e
在cron最后一行输入:
*/2 * * * * sshpass -p 'mypassword' rsync -avu --progress /home/robota/DRLib-D2S/ yangrx@192.168.12.13:/home/robotb/robot_code/DRLibD2S/
实现效果,每隔两分钟将服务器a的文件夹上传到服务器b的文件夹中。