crontab 在/etc目录下有五个目录:
cron.hourly,cron.daily,cron.weekly,cron.monthly,cron.d
#cron.daily是每天执行一次的job
#cron.weekly是每个星期执行一次的job
#cron.monthly是每月执行一次的job
#cron.hourly是每个小时执行一次的job
#cron.d是系统自动定期需要做的任务
crontab -e进行的配置是针对某个用户的
cron系统级配置位于vim /etc/crontab
1.启停操作
/sbin/service crond start //启动服务
/sbin/service crond stop //关闭服务
/sbin/service crond restart //重启服务
/sbin/service crond reload //重新载入配置
2.系统级配置
vim /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
# For details see man 4 crontabs
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed
# run-parts 表示可以执行文件夹下的脚本 没有这个参数需要填写具体的脚本名
# 01 * * * * root run-parts /etc/cron.hourly
基本格式:
基本格式 : [参数间必须使用空格隔开]
- command
分 时 日 月 周 命令第1列表示分钟1~59 每分钟用*或者 */1表示
第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令
#每天12点30分执行test.py脚本
30 12 * * * /usr/data/test.py
3.命令行
crontab -u //设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数
crontab -l //列出某个用户cron服务的详细内容
crontab -r //删除某个用户的cron服务
crontab -e //编辑某个用户的cron服务
4.例子
使用命令行进行操作:
crontab -e
需要输出日志,则增加 >> /data/logfile.log 2>&1
*/1 * * * * /data/test.sh >> /data/logfile.log 2>&1
编辑之后可以看到全部定时任务。
cat /var/spool/cron/root
重启cron
/sbin/service crond restart
查看日志
tail -f /var/log/cron.log
常见的设置方式
*****:每次,day字段是星号,则每天。
,:每隔
-:时间段
/:间隔,例如分钟处设置 */10,表示每十分钟执行一次。
常见的例子:
#每一分钟执行一次test.py
* * * * * test.py
#每一小时执行一次
* */1 * * * test.py
#每天10点执行一次
0 10 * * * test.py