Crontab学习笔记——Linux计划任务
2015-10-27 17:21
615 查看
Crontab学习笔记——Linux计划任务
简介
Crontab是一个用于设置周期性被执行的任务的工具。主要由CronD这个系统服务、配置文件和crontab配置工具组成,会每分钟从配置文件刷新定时任务。
安装配置
本服务器为Centos 64位系统,已经缺省安装。安装前先检查:
crontab -l #是否有计划任务列表 service crond status #是否启动服务
安装:
sudo yum install vixie-cron sudo yum install crontabs
工具使用
启动 :crond start #启动 crond stop #停止 crond restart #重启 crond reload #重新加载配置
使用 :
crontab -help #查看帮助 crontab -l #该用户是否有计划任务列表 #操作的是/var/spool/cron/username这个文件 crontab -e #编辑当前用户的计划任务列表 useradd crontester crontab -e -u crontester #编辑crontester的计划任务列表 crontab -l -u crontester #crontester是否有计划任务列表
配置文件
Path:/etc/crontabls cron* crontab filename #会覆盖同名的配置文件
注意: crontab 对系统级配置文件无效
格式
* * * * * [username] opration 说明: 第一个*:分钟 0~59 第二个*:小时 0~23 第三个*:日期 1~31 第四个*:月份 1~12 第五个*:星期 0~7(0、7都为星期天) 当有多个值时,用','区分,或者为连值时用'-'连接。
示例:
#每个月10,20,30日的0点重启apache 0 0 10,20,30 * * service httpd restart #每个月10-15日的22:31点重启apache 31 22 10-15 * * service httpd restart #每隔两分钟重启apache */2 * * * * service httpd restart #当分钟为奇数时,每隔两分钟重启apache 1-59/2 * * * * service httpd restart
日志
查看:tail -f /var/log/cron #计划任务日志文件,-f 实时刷新 cat /var/spool/mail/root #crontab每次执行计划都会发邮件给用户 #两个方法都可以
注意
1.环境变量:环境变量在计划中无法是载入的。2.第三个域(日期)和第五个域(星期)是或的关系。
#四月的第一个星期日早晨1时59分运行a.sh 59 1 1-7 4 * test `date +\%w` -eq 0 && ./a.sh
案例
#半分钟执行一次,将任务细化到秒 */1 * * * * echo "***" */1 * * * * sleep 30s;echo "***"
总结
学习了Crontab,就可以更好的使你的服务器自动化啦。反馈与建议
微博:@AnSwEr不是答案github:AnSwErYWJ
博客:AnSwEr不是答案的专栏
相关文章推荐
- Linux socket 初步
- linux lsof详解
- linux 文件权限
- Linux 执行数学运算
- 10 篇对初学者和专家都有用的 Linux 命令教程
- Linux 与 Windows 对UNICODE 的处理方式
- Ubuntu12.04下QQ完美走起啊!走起啊!有木有啊!
- 解決Linux下Android开发真机调试设备不被识别问题
- 运维入门
- 运维提升
- Linux 自检和 SystemTap
- Ubuntu Linux使用体验
- c语言实现hashmap(转载)
- Linux 信号signal处理机制
- linux下mysql添加用户
- Scientific Linux 5.5 图形安装教程
- 基于 Linux 集群环境上 GPFS 的问题诊断
- 谁是桌面王者?Win PK Linux三大镇山之宝
- vivi下重新调整分区