Centos定时任务crontab使用
Centos下定时任务crontab的使用
crontab在linux上一般是已经安装了的,查看crontab服务状态命令如下:
service crond status //查看服务状态
service crond start //启动服务
service crond stop //关闭服务
service crond restart //重启服务
service crond reload //重新载入配置
如果未安装,安装命令:
sudo yum install -y vixie-cron
sudo yum install -y crontabs
crongtab常用命令:
crontab -u //设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数
crontab -l //列出某个用户cron服务的详细内容
crontab -r //删除没个用户的cron服务
crontab -e //编辑某个用户的cron服务
如:
crontab -u root -l //查看root的crontab
crontab -u root -e //编辑root的crontab
crontab的格式常用的有:
每隔2分钟执行一次python脚本 用绝对路径
*/2 * * * * root /usr/local/python3/bin/python3 /usr/share/nginx/py_get_pics.py
每天早上6点追加一条字符串到一个文本。
0 6 * * * echo "Good morning." >> /tmp/test.txt
每两个小时追加一条字符串一个文本。
0 */2 * * * echo "Have a break now." >> /tmp/test.txt
晚上11点到早上8点之间每两个小时,早上八点
0 23-7/2,8 * * * echo "Have a good dream:)" >> /tmp/test.txt
每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点
0 11 4 * 1-3 command line
1月1日早上4点
0 4 1 1 * command line
每月每天每小时的第 0 分钟执行一次 /bin/ls
0 * * * * /bin/ls
在 12 月内, 每天的早上 6 点到 12 点中,每隔 20 分钟执行一次 /usr/bin/backup
*/20 6-12 * 12 * /usr/bin/backup
周一到周五每天下午 5:00 寄一封信给 alex_mail_name :
0 17 * * 1-5 mail -s "hi" alex_mail_name < /tmp/maildata
每月每天的午夜 0 点 20 分, 2 点 20 分, 4 点 20 分....执行 echo "haha"
20 0-23/2 * * * echo "haha"
晚上11点到早上8点之间每两个小时,早上8点,显示时间
0 23-7/2,8 * * * date
可能出现的问题: 执行crontab -u root -e编辑时可能会报vim配置文件的错误,需要设置vim为crontab默认编辑器:
vim ~/.bashrc
export EDITOR=vim # 添加这行
source ~/.bashrc
参考和摘录自: >CentOS下使用crontab命令来定时执行任务