linuxcrontab每隔10秒执⾏⼀次
linux下定时执⾏任务的⽅法
在LINUX中你应该先输⼊crontab -e,然后就会有个vi编辑界⾯,再输⼊0 3 * * 1 /clearigame2内容到⾥⾯ :wq 保存退出。
在LINUX中,周期执⾏的任务⼀般由cron这个守护进程来处理[ps -ef|grep cron]。cron读取⼀个或多个配置⽂件,这些配置⽂件中包含了命令⾏及其调⽤时间。
cron的配置⽂件称为“crontab”,是“cron table”的简写。
⼀、cron在3个地⽅查配置⽂件:
1、/var/spool/cron/ 这个⽬录下存放的是每个⽤户包括root的crontab任务,每个任务以创建者的名字命名,⽐如tom建的crontab任务对应的⽂件就是/var/spool/cron/tom。
⼀般⼀个⽤户最多只有⼀个crontab⽂件。
⼆、/etc/crontab 这个⽂件负责安排由系统管理员制定的维护系统以及其他任务的crontab。
三、/etc/cron.d/ 这个⽬录⽤来存放任何要执⾏的crontab⽂件或脚本。
四、权限
crontab权限问题到/var/adm/cron/下⼀看,⽂件cron.allow和cron.deny是否存在
⽤法如下:
1、如果两个⽂件都不存在,则只有root⽤户才能使⽤crontab命令。
2、如果cron.allow存在但cron.deny不存在,则只有列在cron.allow⽂件⾥的⽤户才能使⽤crontab命令,如果root⽤户也不在⾥⾯,则root⽤户也不能使⽤crontab。
3、如果cron.allow不存在, cron.deny存在,则只有列在cron.deny⽂件⾥⾯的⽤户不能使⽤crontab命令,其它⽤户都能使⽤。
4、如果两个⽂件都存在,则列在cron.allow⽂件中⽽且没有列在cron.deny中的⽤户可以使⽤crontab,如果两个⽂件中都有同⼀个⽤户,
以cron.allow⽂件⾥⾯是否有该⽤户为准,如果cron.allow中有该⽤户,则可以使⽤crontab命令。
在crontab⽂件中如何输⼊需要执⾏的命令和时间。该⽂件中每⾏都包括六个域,其中前五个域是指定命令被执⾏的时间,最后⼀个域是要被执⾏的命令。
每个域之间使⽤空格或者制表符分隔。格式如下:
minute hour day-of-month month-of-year day-of-week commands
合法值 00-59 00-23 01-31 01-12 0-6 (0 is sunday) commands(代表要执⾏的脚本)
除了数字还有⼏个个特殊的符号就是"*"、"/"和"-"、",",*代表所有的取值范围内的数字,"/"代表每的意思,"/5"表⽰每5个单位,"-"代表从某个数字到某个数字,","分开⼏个离散的数字。
基本格式 :
*****command
分 时 ⽇ ⽉ 周 命令
第1列表⽰分钟1~59 每分钟⽤*或者 */1表⽰
第2列表⽰⼩时1~23(0表⽰0点)
第3列表⽰⽇期1~31
第4列表⽰⽉份1~12
第5列标识号星期0~6(0表⽰星期天)
第6列要运⾏的命令
crontab⽂件的⼀些例⼦:
#每晚的21:30重启apache。
30 21 * * * /usr/local/etc/rc.d/lighttpd restart
#每⽉1、10、22⽇
45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart
#每天早上6点10分
10 6 * * * date
#每两个⼩时
0 */2 * * * date
linux下的sleep函数#晚上11点到早上8点之间每两个⼩时,早上8点
0 23-7/2,8 * * * date
#每个⽉的4号和每个礼拜的礼拜⼀到礼拜三的早上11点
0 11 4 * mon-wed date
#1⽉份⽇早上4点
0 4 1 jan * date
很多时候,我们计划任务需要精确到秒来执⾏,根据以下⽅法,可以很容易地以秒执⾏任务。
以下⽅法将每10秒执⾏⼀次
# crontab -e
* * * * * /bin/date >>/
* * * * * sleep 10; /bin/date >>/
* * * * * sleep 20; /bin/date >>/
* * * * * sleep 30; /bin/date >>/
* * * * * sleep 40; /bin/date >>/
* * * * * sleep 50; /bin/date >>/
注意如果⽤如果命令⽤到%的话需要⽤\转义
# backup mysql
00 01 * * * mysqldump -u root --password=passwd-d mustang > /root/backups/mustang_$(date +\%Y\%m\%d_\%H\%M\%S).sql
01 01 * * * mysqldump -u root --password=passwd-t mustang > /root/backups/mustang-table_$(date +\%Y\%m\%d_\%H\%M\%S).sql
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论