crond任务调度
系统在某个时间段执行特定的命令或程序。
1、数据库的定时备份操作。
2、系统一些重复工作,病毒扫描等。
用法
crontab 【选项】
-e:编辑crontab定时任务
-l:查询crontab任务
-f:删除当前用户所有的crontab任务
-r:终止任务调度
service crond restart:重启任务调度
crontab -e
*/1 * * * * ls -l /etc > /tmp/to.txt -- 每小时的每分钟执行
第一个*:一小时中的第几分钟【0-59】
第二个*:一天中的第几个小时【0-23】
第三个*:一个月当中的第几天【1-31】
第四个*:一年中的的第几月【1-12】
第五个*:一周当中对的星期几【0-7 0和7都表示 周日】
特殊符号 说明
* 代表任意时间
, 不连续的时间范围,0 8,12,15 * * *,每天8、12、15点执行。
- 连续的时间范围,0 5 * * 1-6,周一到周六的凌晨5点执行。
*/n 每隔多久执行一次,*/10 * * * *,每隔10分钟执行一次。
示例
示例 | 含义 |
---|---|
45 22 * * * | 每天22点45分执行 |
0 17 * * 1 | 每周一的17点0分执行 |
0 5 1,15 * * | 每月1、15号的凌晨5点0分执行 |
40 4 * * 1-5 | 每周一到周五凌晨4点40分执行 |
*/10 4 * * * | 每天凌晨4点,每隔10分钟执行一次。5点就不执行了 |
0 0 1,15 * 1 | 每月1、15号、每周一的0点0分执行 |
实际操作
1、每隔1分钟,当前日期信息,写入 文件中。
vim /home/wsw/mytask1.sh
date >> /home/wsw/dates.txt
给mytask1.sh 执行权限
chmod 744 /home/wsw/mytask1.sh
crontab -e
*/1 * * * * /home/wsw/mytask1.sh
2、每天凌晨2点,mysql数据库 testdb、备份。
vim /home/wsw/mytask2.sh
/usr/local/mysql/bin/mysqldump -u root -proot testdb > /tmp/db.bak
chmod 744 /home/wsw/mytask2.sh
crontab -e
0 2 * * * /home/wsw/mytask2.sh
网友评论