找回密码
 注册会员
搜索

本文来自

Linux

Linux

订阅|关注

请添加对本版块的简短描述

297

主题

314

帖子

2343

积分

管理员

Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20

积分
2343

[教程] CentOS/Debian 使用使用crontab计划任务管理

[复制链接]
跳转到指定楼层
楼主
36730 xiaoxiao 发表于 2015-1-8 13:18:56
本帖最后由 xiaoxiao 于 2016-3-8 21:23 编辑

at:一次性计划任务,在设置一次性计划任务时指定日期时间作为参数,
设置完成ctrl+d提交任务如图





crontab:周期任务设置,其任务配置文件位于/etc/crontab此文件中设置了shell环境,
可执行路径变量的操作,以及每小时每月每周需要执行的目录等如图



用户使用crontab命令自行设置的配置文件目录在/var/spool/con/目录下。
  1. crontab -e
复制代码

如果提示:-bash: crontab: command not found
请先安装该服务:
CentOS:
  1. yum install vixie-cron -y
复制代码

Debian:
  1. apt-get install cron -y
复制代码

编辑计划任务如图





crontab -e -u:为指定用户设置计划任务
crontab -l:显示当前用户计划任务如图



contab -r:删除任务计划如图



Debian使用方案:
  1. crontab -e
复制代码

进去后直接编辑即可

编辑后按Ctar+X
  1. Ctar+X
复制代码



然后按Y,继续按回车




使用实例:

实例1:每1分钟执行一次command
命令:* * * * * command

实例2:每小时的第3和第15分钟执行
命令:3,15 * * * * command

实例3:在上午8点到11点的第3和第15分钟执行
命令:3,15 8-11 * * * command

实例4:每隔两天的上午8点到11点的第3和第15分钟执行
命令:3,15 8-11 */2 * * command

实例5:每个星期一的上午8点到11点的第3和第15分钟执行
命令:3,15 8-11 * * 1 command

实例6:每天晚上的21:30重启smb
命令:30 21 * * * /etc/init.d/smb restart

实例7:每天半夜3点30分重启服务器
命令:30 3 * * * /sbin/reboot
或者:30 3 * * * shutdown -r now

实例8:分别在每天的凌晨4点,中午12点,晚上6点重启服务器
命令:0 4,12,18 * * * /sbin/reboot
或者:0 4,12,18 * * * shutdown -r now

实例9:每月1、10、22日的4 : 45重启smb
命令:45 4 1,10,22 * * /etc/init.d/smb restart

实例10:每周六、周日的1 : 10重启smb
命令:10 1 * * 6,0 /etc/init.d/smb restart

实例11:每天18 : 00至23 : 00之间每隔30分钟重启smb
命令:0,30 18-23 * * * /etc/init.d/smb restart

实例12:每星期六的晚上11 : 00 pm重启smb
命令:0 23 * * 6 /etc/init.d/smb restart

实例13:每一小时重启smb
命令:* */1 * * * /etc/init.d/smb restart

实例14:晚上11点到早上7点之间,每隔一小时重启smb
命令:* 23-7/1 * * * /etc/init.d/smb restart

实例15:每月的4号与每周一到周三的11点重启smb
命令:0 11 4 * mon-wed /etc/init.d/smb restart

实例16:一月一号的4点重启smb
命令:0 4 1 jan * /etc/init.d/smb restart

实例17:每小时执行/etc/cron.hourly目录内的脚本
命令:01   *   *   *   *     root run-parts /etc/cron.hourly
说明:run-parts这个参数了,如果去掉这个参数的话,后面就可以写要运行的某个脚本名,而不是目录名了

在Crontab中使用PHP执行脚本
就像在Crontab中调用普通的shell脚本一样(具体Crontab用法),使用PHP程序来调用PHP脚本。
每一小时执行myscript.php如下:
命令:00 * * * * /usr/local/bin/php /home/john/myscript.php
/usr/local/bin/php为PHP程序的路径。

在Crontab中使用URL执行脚本
如果你的PHP脚本可以通过URL触发,你可以使用lynx或curl或wget来配置你的Crontab。
下面的例子是使用Lynx文本浏览器访问URL来每小时执行PHP脚本。Lynx文本浏览器默认使用对话方式打开URL。但是,像下面的,我们在lynx命令行中使用-dump选项来把URL的输出转换来标准输出。
命令:00 * * * * lynx -dump http://www.centos.bz/myscript.php
下面的例子是使用CURL访问URL来每5分执行PHP脚本。Curl默认在标准输出显示输出。使用"curl -o"选项,你也可以把脚本的输出转储到临时文件。
命令:*/5 * * * * /usr/bin/curl -o temp.txt http://www.centos.bz/myscript.php
下面的例子是使用WGET访问URL来每10分执行PHP脚本。-q选项表示安静模式。"-O temp.txt"表示输出会发送到临时文件。
命令:*/10 * * * * /usr/bin/wget -q -O temp.txt http://www.centos.bz/myscript.php
回复

使用道具 举报

快速回复 返回顶部 返回列表