开发者社区> 科技探索者> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

crontab命令

简介:
+关注继续查看


crontab命令


 

crontab命令常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令。
 
开启crond服务:
 
# service crond start/stop/status
 
开机自启动crond:
 
# chkconfig --add crond
# chkconfig --level 35 crond on

格式:分、时、日、月、周
 

追加周期任务:crontab  -e
 
覆盖原有的周期任务:crontab
 
查看周期任务:crontab -l
 
删除周期任务:crontab -r
 
以某用户的身份来控制cron表:crontab -u 用户名
 
退出任务:ctrl + d
 
 

用户的计划任务建立后是存放在/var/spool/cron这个目录


 crond使用技巧:
 
先建一个.sh脚本,再用crond执行脚本即可
 
示例:
 
1、周期性备份
 
# vi /root/tar.sh
 
#!/bin/sh
 
Date=`date +%y%m%d`
echo "usr back begin at `date +%H:%M:%S`" >> /logs/$Date/back.log
tar czf /root/`date +%y%d%m%H%M%S`.tar.gz /usr
 echo "usr back end at `date +%H:%M:%S`" >> /logs/$Date/back.log
:wq
 
注:对目录usr进行tar备份,并记录开始备份和结束备份的时间
 
# chmod +x tar.sh
# crontab -e
30 17 * * * /bin/sh /root/tar.sh
 
2、周期性scp传输文件
 
#  vi /root/scp.sh
 
#!/bin/sh
 
Date=`date +%y%m%d`
echo "scp begin at `date +%H:%M:%S`" >> /logs/$Date/back.log
scp -p /root/*.gz root@192.168.1.10:/root
echo "scp end at `date +%H:%M:%S`" >> /logs/$Date/back.log
 
:wq
 
注:把/root下的所有以.gz结尾的文件scp(远程传输)到192.168.1.10的/root下,并记录scp开始和结束的时间
 
# chmod +x /root/scp.sh
# crontab -e
00 18 * * * /bin/sh root/scp.sh
 

其它示例:

每月每天每小时的第 0 分钟执行一次 /bin/ls :
  
0 * * * * /bin/ls   
 
在 12 月内, 每天的早上 6 点到 12 点中,每隔 20 分钟执行一次 /usr/bin/backup :  
 
*/20 6-11 * 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"  
本文转自linux博客51CTO博客,原文链接http://blog.51cto.com/yangzhiming/834888如需转载请自行联系原作者

yangzhimingg

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
cron和crontab
crontab -l 列出目前的计划任务(时程表) crontab -e 编辑计划任务   计划任务的格式如下: f1 f2 f3 f4 f5 program 其中 f1 是表示分钟,f2 表示小时,f3 表示一个月份中的第几日,f4 表示月份,f5 表示一个星期中的第几天。
692 0
我常用的crontab命令
命令简介 crontab-操作每个用户的守护程序和该执行的时间表。部分参数说明crontab file [-u user]-用指定的文件替代目前的crontab。crontab-[-u user]-用标准输入替代目前的crontab.crontab-1[user]-列出用户目前的crontab.crontab-e[user]-编辑用户目前的crontab.crontab-d[user]-删除用户目前的crontab.crontab-c dir- 指定crontab的目录。
715 0
Crontab的格式
第1列分钟1~59 第2列小时1~23(0表示子夜)第3列日1~31第4列月1~12第5列星期0~6(0表示星期天)第6列要运行的命令 下面是crontab的格式:分 时 日 月 星期 要运行的命令 这里有crontab文件条目的一些例子: 30 21 * * * /usr/local/apache/bin/apachectl restart上面的例子表示每晚的21:30重启apache。
690 0
Crontab的格式
第1列分钟1~59 第2列小时1~23(0表示子夜) 第3列日1~31 第4列月1~12 第5列星期0~6(0表示星期天) 第6列要运行的命令 下面是crontab的格式: 分 时 日 月 星期 要运行的命令 这里有crontab文件条目的一些例子: 30 21 * * * /usr/local/apache/bin/apachectl restart 上面的例子表示每晚的21:30重启apache。
538 0
文章
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载