介绍crontab:
cron是一个linux下的定时执行工具,cron的配置文件称为“crontab”
内置服务,一般由cron这个守护进程来处理[ps -ef|grep cron]
crontab执行后日志文件路径: /var/log/cron
/sbin/service crond start //启动服务
/sbin/service crond stop //关闭服务
/sbin/service crond restart //重启服务
/sbin/service crond reload //重新载入配置
/sbin/service crond status //查看服务状态
crontab –e : 修改 crontab 文件. 如果文件不存在会自动创建。
crontab –l : 显示 crontab 文件。
crontab -r : 删除 crontab 文件。
crontab -ir: 删除 crontab 文件前提醒用户
crontab配置:
有两种配置方式:1、指定用户名的在/etc/crontab下设置; 2、crontab -e,不需要指定用户
区别:
(系统级的)做系统级配置我们会直接配置 /etc/crontab
(用户级的)一般还是建议大家使用 crontab -e ,这样系统也会帮着检查我们配置的脚本语法。
用法1:
用root权限编辑以下文件:
sudo vim /etc/crontab
在文件末尾添加以下命令:
0 0 * * * root /usr/bin/python2.7 /home/testzq/testzq.py > /home/testzq/auto.log
重启crontab,使配置生效
/sbin/service crond restart
格式:
* * * * * user command
分 时 日 月 周 用户 命令
示例:
每分钟执行一次: * * * * * user command
每隔2小时执行一次: * */2 * * * user command (/表示频率)
每天8:30分执行一次: 30 8 * * * user command
每小时的30和50分各执行一次: 30,50 * * * * user command(,表示并列)
每个月的3号到6号的8:30执行一次:30 8 3-6 * * user command (-表示范围)
每个星期一的8:30执行一次: 30 8 * * 1 user command (周的范围为0-7,0和7代表周日)
用法2:
终端键入:crontab -e #打开的文件路径/var/spool/cron/root
[root@vm test]# crontab -e
00 00 * * * su - ctdi -c 'source /opt/poc/bin/activate && python /home/testzq/testzq.py'
注意:
更改文件所有者: chown 账号名称 文件或目录 chown ctdi 文件(包括py脚本与log目录文件)
改变文件的用户组:chgrp 组名 文件或目录
同时修改用户和组:chown 所有者,所属组 文件\目录名