crond
命令每分锺会定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作。
注意: 新创建的 cron 任务,不会马上执行,至少要过 2 分钟后才可以,当然你可以重启 cron 来马上执行。
参数说明:
-e
: 执行文字编辑器来设定时程表,内定的文字编辑器是 VI,如果你想用别的文字编辑器,则请先设定 VISUAL 环境变数来指定使用那个文字编辑器(比如说 setenv VISUAL joe)
-r
: 删除目前的时程表
-l
: 列出目前的时程表
时间格式如下:
f1 f2 f3 f4 f5 program
* * * * *
- - - - -
| | | | |
| | | | +----- 星期中星期几 (0 - 6) (星期天 为0)
| | | +---------- 月份 (1 - 12)
| | +--------------- 一个月中的第几天 (1 - 31)
| +-------------------- 小时 (0 - 23)
+------------------------- 分钟 (0 - 59)
-
每分钟执行一次
* * * * * /bin/ls
-
more demo
0 */2 * * * /sbin/service httpd restart 意思是每两个小时重启一次apache 50 7 * * * /sbin/service sshd start 意思是每天7:50开启ssh服务 50 22 * * * /sbin/service sshd stop 意思是每天22:50关闭ssh服务 0 0 1,15 * * fsck /home 每月1号和15号检查/home 磁盘 1 * * * * /home/bruce/backup 每小时的第一分执行 /home/bruce/backup这个文件 00 03 * * 1-5 find /home "*.xxx" -mtime +4 -exec rm {} \; 每周一至周五3点钟,在目录/home中,查找文件名为*.xxx的文件,并删除4天前的文件。 30 6 */10 * * ls 意思是每月的1、11、21、31日是的6:30执行一次ls命令
个人使用实例
1、 先写一个脚本
#!/bin/bash
time=$(date)
echo $time
echo $time >> /root/github_projects/a.txt
python /root/github_projects/testCrontab/py_test.py
2、 通过指令加入定时执行
crontab -e # 进入编辑模式
# 输入以下信息(每分钟运行一次)
* * * * * /root/github_projects/testCrontab/test.sh >> /root/github_projects/testCrontab/cds.txt
# 查看任务
crontab -l
* * * * * /root/github_projects/testCrontab/test.sh >> /root/github_projects/testCrontab/cds.txt
最后确实可以看到这个脚本是每分钟运行一次