服务器定时任务 PHP

要求:每周六0点自动重启apache和mysql。

****************************************************

从服务器入手

Linux原生支持crontab,所以可以利用这一功能做定时任务
cron的配置文件称为“crontab”,是“cron table”的简写。
步骤:
1、crontab -e

2、输入代码:
    0 0 * * 6 /etc/init.d/httpd restart && /etc/init.d/mysqld restart
        第一项(前面5位)是时间设置,
        第二项是apache所在目录,
        第三项上执行具体方法,
        后面的&&可以连写,也可以删除&&后,换行,即也可以这么写:
    0 0 * * 6 /etc/init.d/httpd restart
    0 0 * * 6 /etc/init.d/mysqld restart

    0 9 * * * /usr/bin/curl http://www.website.com/Index/test
        每天上午9点自动执行一次http://www.website.com/Index/test方法
        第二项代表curl所在目录,
        第三项代表所要执行的url
3、esc
4、:wq
       
=======================================================

在crontab文件中如何输入需要执行的命令和时间。该文件中每行都包括六个域,其中前五个域是指定命令被执行的时间,最后一个域是要被执行的命令。每个域之间使用空格或者制表符分隔。格式如下:

    *     *     *    *    *    command
    分  时  日  月  周  命令

 

    第1域表示分钟,1~59 每分钟用*或者 */1表示
    第2域表示小时,1~23(0表示0点)
    第3域表示日期,1~31
    第4域表示月份,1~12
    第5域标识号星期,0~6(0表示星期天)
    第6域要运行的命令

除了数字还有几个特殊的符号:"*"    "/"    "-"    ",",其中:
    "*"    代表所有的取值范围内的数字,
    "/"    代表每的意思,
    "/5"    表示每5个单位,
    "-"    代表从某个数字到某个数字,
    ","    分开几个离散的数字。
=================================================

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

#晚上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秒执行一次

 

1

2

3

4

5

6

7

# crontab -e

* * * * * /bin/date >>/tmp/date.txt

* * * * * sleep 10; /bin/date >>/tmp/date.txt

* * * * * sleep 20; /bin/date >>/tmp/date.txt

* * * * * sleep 30; /bin/date >>/tmp/date.txt

* * * * * sleep 40; /bin/date >>/tmp/date.txt

* * * * * sleep 50; /bin/date >>/tmp/date.txt

注意如果有命令用到 % 的话需要用 \ 转义

1

2

3

# 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

  

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值