linux内置的cron进程能帮我们实现定时任务,搭配shell脚本使用效果显著。
命令:
crontab [-u username] //省略用户表表示操作当前用户的crontab
-e (编辑工作表,一行一个命令,主要定义什么时候执行)
-l (列出工作表里的命令)
-r (删除工作作)
输入:
crontab -e 出现编辑页面,vim编辑页。
#每一分钟执行一次 /home/cron/srcript.sh 脚本 , 此脚本使用/bin/sh 解释执行
* * * * * /bin/sh /home/cron/srcript.sh
定时表达式简介:
* * * * * 分别代表 : 分钟 小时 日期 月份 周
*/10 * * * * 每十分钟执行一次 ,每小时同理
srcript.sh脚本内容:
#输出内容到 /home/cron/log, 是、使用tail -f /home/cron/log 实时查看日志内容。 >> 追加日志输出到log文件
echo $(date "+%Y-%m-%d %H:%M:%S")'运行了脚本======' >> /home/cron/log
保存后输入命令 tail -f /home/cron/log 查看日志:
或者输入 : tail -f /var/log/cron 查看定时执行的任务日志。
停止定时脚本:
直接 crontab -e 把对应的定时命令注释掉 # ,或者删掉。
配置文件:
1,/var/spool/cron/ 目录下存放的是每个用户包括root的crontab任务,每个任务以创建者的名字命名,crontab -e 创建的工作在这里。
2,/etc/crontab 这个文件负责调度各种管理和维护任务。
3,/etc/cron.d/ 这个目录用来存放任何要执行的crontab文件或脚本。
4,我们还可以把脚本放在/etc/cron.hourly、/etc/cron.daily、/etc/cron.weekly、/etc/cron.monthly目录中,让它每小时/天/星期、月执行一次。
crond 服务相关命令:
##查看服务状态
/sbin/service crond status
##启动服务
/sbin/service crond start
##关闭服务
/sbin/service crond stop
##重启服务
/sbin/service crond restart
##重新载入配置
/sbin/service crond reload