小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

linux使用crontab實現(xiàn)PHP執(zhí)行定時任務 | 亂燉

 弒唸 2015-12-29

首先說說cron,它是一個linux下的定時執(zhí)行工具。根用戶以外的用戶可以使用 crontab 工具來配置 cron 任務。所有用戶定義的 crontab 都被保存在/var/spool/cron 目錄中,并使用創(chuàng)建它們的用戶身份來執(zhí)行。

要以某用戶身份創(chuàng)建一個 crontab 項目,登錄為該用戶,然后鍵入 crontab -e 命令來編輯該用戶的 crontab。該文件使用的格式和 /etc/crontab 相同。當對 crontab 所做的改變被保存后,該 crontab 文件就會根據(jù)該用戶名被保存,并寫入文件 /var/spool/cron/username 中。

cron 守護進程每分鐘都檢查 /etc/crontab 文件、etc/cron.d/ 目錄、以及 /var/spool/cron 目錄中的改變。如果發(fā)現(xiàn)了改變,它們就會被載入內存。這樣,當某個 crontab 文件改變后就不必重新啟動守護進程了。

安裝crontab:

1
yum install crontabs

操作說明:

1
2
3
4
/sbin/service crond start    // 啟動服務
/sbin/service crond stop            // 關閉服務
/sbin/service crond restart         // 重啟服務
/sbin/service crond reload          // 重新載入配置

查看crontab服務狀態(tài):

1
service crond status

手動啟動crontab服務:

1
service crond start

加入開機自動啟動:

1
chkconfig –level 35 crond on

查看crontab服務是否已設置為開機啟動,執(zhí)行命令:

1
ntsysv

crontab命令:

功能說明:設置計時器。

語  法:crontab [-u <用戶名稱>][配置文件] 或 crontab [-u <用戶名稱>][-elr]

補充說明:cron是一個常駐服務,它提供計時器的功能,讓用戶在特定的時間得以執(zhí)行預設的指令或程序。只要用戶會編輯計時器的配置文件,就可以使 用計時器的功能。其配置文件格式如下:
Minute Hour Day Month DayOFWeek Command

參  數(shù):

  • -e  編輯該用戶的計時器設置
  • -l  列出該用戶的計時器設置
  • -r  刪除該用戶的計時器設置
  • -u<用戶名稱>  指定要設定計時器的用戶名稱

crontab 格式:

基本格式 :

分鐘小時星期命令
******
  • 第1列表示分鐘1~59 每分鐘用*或者 */1表示
  • 第2列表示小時1~23(0表示0點)
  • 第3列表示日期1~31
  • 第4列 表示月份1~12
  • 第5列標識號星期0~6(0表示星期天)
  • 第6列要運行的命令

記住幾個特殊符號的含義:

  • “*”代表取值范圍內的數(shù)字, 
  • “/”代表”每”,
  • “-”代表從某個數(shù)字到某個數(shù)字,
  • “,”分開幾個離散的數(shù)字
# Use the hash sign to prefix a comment
# +—————- minute (0 – 59)
# | +————- hour (0 – 23)
# | | +———- day of month (1 – 31)
# | | | +——- month (1 – 12)
# | | | | +—- day of week (0 – 7) (Sunday=0 or 7)
# | | | | |
# * * * * * command to be executed

crontab幾個例子如下:

  1. 第一個例子
    1
    30 21 * * * /etc/init.d/nginx restart

    每晚的21:30重啟 nginx

  2. 第二個例子,也就是本教程測試的例子
    1
    * * * * * /usr/bin/php -f /root/test.php >> test.log

    每一分鐘執(zhí)行/root/test.php文件,將結果輸出到test.log中
    完成了上面基礎工作后,就來看看怎么使用crontab定時執(zhí)行PHP腳本:

    1. 我在/root下新建test.php文件,內容如下:
      1
      2
      3
      4
      <?php
              #!/usr/bin/php -q
              echo  date('Y-m-d H:i:s').'from http://levi. '.PHP_EOL;
      ?>

      說明:你可以用whereis php查找php執(zhí)行文件位置。

    2. 然后crontab -e編寫如下shell:
      1
      * * * * * /usr/bin/php -f /root/test.php >> test.log

      說明:test.php必須為可執(zhí)行文件:

      1
      chmod +x test.php

      測試結果很正常,截圖如下:

      當然你可以用使用crontab -e繼續(xù)添加任務,在/var/spool/cron下你可以看到一個root文件。

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多