crontab
定时任务加锁
*/30 * * * * cd /home/homework/script && flock -xn dataSync.lock /home/homework/php/bin/php dataSync.php >> dataSync.log 2>&1 |
crontab命令说明
crontab -l 展示命令
crontab -e 编辑添加任务
crontab -r 删除任务
例如:
crontab -e 编辑周期任务
*/1 * * * /home/run.sh 每分钟一次执行脚本
minute hour day month week command 顺序:分 时 日 月 周
/ 表示频率
逗号 指定列表
例如:
10 1 * * 6,0 /bin/find -name "core" -exec rm {} ;
上面的例子表示每周六、周日的1 : 1 0运行一个f i n d命令。
30 21* * * /apps/bin/cleanup.sh
上面的例子表示每晚的2 1 : 3 0运行/ a p p s / b i n目录下的c l e a n u p . s h。
0 23 * * 6 /apps/bin/qtrend.sh
上面的例子表示每星期六的11 : 0 0 p m运行/ a p p s / b i n目录下的q t r e n d . s h
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 分钟执行一次命令 |
获取当前时间
date +"%Y-%m-%d %H:%M:%S"
获取5分钟之前时间
date -d "5 minute ago" +"%Y-%m-%d %H:%M:%S"
#获取2小时之前
date -d "2 hour ago" +"%Y-%m-%d %H:%M:%S"
#获取3天前时间
date -d "3 day ago" +"%Y-%m-%d %H:%M:%S"