cron 任務

  1 相關文件
  2 
  3 
  4 /etc/crontab
  5 /etc/cron.deny                設置哪一個用戶有權限運行 cron 任務
  6 /var/spool/cron/root
  7 /var/spool/cron/user
  8 /var/log/cron                只要在這個 log 裏面出現的命令就說明 cron 任務執行了,執行失敗會向相應的用戶發送郵件
  9 
 10 
 11 
 12 任務不執行及 cron 相關問題
 13 
 14 
 15 開機自動運行 cron 的命令「 systemctl enable crond.service 」。
 16 
 17 
 18 新建立的cron job,不會立刻執行,至少要過2分鐘才執行。若是重啓cron則立刻執行,使用 systemctl restart crond.service 重啓 cron 。
 19 
 20 
 21 環境變量
 22 
 23 Crontab任務的執行環境與手動執行時的執行環境不一樣,編碼時,儘可能經過全路徑名引用文件或調用命令,或者將引用的文件或者命令的路徑添加到環境變量中,其默認環境變量以下
 24 SHELL=/bin/sh
 25 USER=root
 26 PATH=/usr/bin:/bin
 27 PWD=/root
 28 SHLVL=1
 29 HOME=/root
 30 LOGNAME=root
 31 _=/usr/bin/env
 32 
 33 我修改的環境變量以下
 34 SHELL=/bin/bash
 35 PATH=/bin:/lib64:/sbin:/usr/bin:/usr/lib64:/usr/sbin:/usr/local/bin:/usr/local/lib64:/usr/local/sbin
 36 MAILTO=root
 37 LANG=zh_CN.UTF-8
 38 HOME=/root
 39 USER=root
 40 LOGNAME=root
 41 DISPLAY=:0
 42 
 43 
 44 須要圖形化桌面的程序須要指定桌面環境
 45 
 46 任務是「 firefox 」,不執行,也不發郵件給此用戶,而是發給了 root ,郵件報告是「 no display specified 」。
 47 解決方法是添加環境變量「 DISPLAY=:0 」,重啓cron任務。
 48 "export DISPLAY=:0" and then I did a "xhost +" and now its working fine. I also did a "/usr/bin/firefox $myHost". Now its working fine. Thank you        ==============http://askubuntu.com/questions/417111/open-firefox-from-bash-file-error-no-display-specified
 49 
 50 
 51 肯定用戶是否能夠建立 cron 任務
 52 
 53 在 /etc/cron.deny 裏設置用戶權限。
 54 
 55 
 56 Crontab任務的輸出重定向文件無寫權限
 57 
 58 一般狀況下,在添加crontab任務以前,都會手動執行一下待添加的crontab任務,此時,經過重定向產生的文件,只執行該任務的用戶有寫權限,由sudo -u指定的用戶並無寫權限。本質緣由是sudo –u對重定向符不起做用。如此,在添加crontab任務,以sudo –u中指定的用戶身份運行時,因爲對重定向文件無寫權限,crontab任務會安靜的失敗
 59 
 60 
 61 Crontab 任務配置文件 owner 不是 root
 62 
 63 在添加crontab任務時,若是配置文件owner不是root,任務會失敗(志遙之前也提起過),不過這種失敗,能夠在cron日誌中看到以下錯誤信息:
 64 (*system*)WRONG FILE OWNER
 65 
 66 
 67 Crontab 任務配置文件爲單行
 68 
 69 Crontab 任務都是單行,可若是配在配置文件中,任務字符串後沒有換行符,這個任務就有可能也會靜悄悄地失敗。爲安全起見,建議多一下按下回車鍵。
 70 
 71 
 72 cron 會忽略點系統的i18n,默認使用posix的來decode,致使awk識別錯誤。
 73 
 74 
 75 cron 配置文件從其餘機器複製時沒有更新文件的建立時間,這個cron任務的時間屬性不變,這個cron任務有可能不執行,須要用 touch 更新下時間「 sudo touch /var/spool/cron/user 」。
 76 
 77 
 78 crontab中「%」要轉義
 79 
 80 在crontab中%是有特殊含義的,表示換行的意思。若是要用的話必須進行轉義\%,如常常用的date ‘+%Y%m%d’在crontab裏是不會執行的,應該換成date ‘+\%Y\%m\%d’`。
 81 
 82 
 83 當crontab忽然失效時,能夠嘗試重啓 cron 解決問題,或者查看日誌看某個job有沒有執行/報錯tail -f /var/log/cron。
 84 
 85 
 86 不要亂運行「 crontab -r 」。它從 Crontab 目錄( /var/spool/cron )中刪除用戶的 Crontab 文件,刪除了該用戶的全部crontab都沒了。
 87 
 88 
 89 每條 JOB 執行完畢以後,系統會自動將輸出發送郵件給當前系統用戶。日積月累,很是的多,甚至會撐爆整個系統。因此每條 JOB 命令後面進行重定向處理是很是必要的: >/dev/null 2>&1 。前提是對 Job 中的命令須要正常輸出已經做了必定的處理, 好比追加到某個特定日誌文件。
 90 
 91 
 92 
 93 示例
 94 
 95 
 96 # .---------------- minute (0 - 59)
 97 # |  .------------- hour (0 - 23)
 98 # |  |  .---------- day of month (1 - 31)
 99 # |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
100 # |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7)  OR
101 #sun,mon,tue,wed,thu,fri,sat
102 # |  |  |  |  |
103 # *  *  *  *  *  command [args]
104 
105 
106 59 12 * * * SHELL=/bin/bash PATH=/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/home/Wizard/.local/bin:/home/Wizard/bin MAILTO=root command
107 
108 30 21 * * * /usr/local/etc/rc.d/lighttpd restart    每晚的21:30重啓apache
109 
110 */1 * * * * root hwclock --hctosys            每隔1分鐘同步系統時鐘和硬件時鐘
111 
112 * */1 * * * /usr/local/etc/rc.d/lighttpd restart    每一小時重啓apache
113 
114 * 23-7/1 * * * /usr/local/etc/rc.d/lighttpd restart    晚上11點到早上7點之間,每隔一小時重啓apache
115 
116 45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart    每個月一、10、22日的4 : 45重啓apache
117 
118 10 1 * * 6,0 /usr/local/etc/rc.d/lighttpd restart    每週6、週日的1 : 10重啓apache
119 
120 0,30 18-23 * * * /usr/local/etc/rc.d/lighttpd restart    在天天18 : 00至23 : 00之間每隔30分鐘重啓apache
121 
122 0 23 * * 6 /usr/local/etc/rc.d/lighttpd restart        每星期六的11 : 00 pm重啓apache
123 
124 0 11 4 * mon-wed /usr/local/etc/rc.d/lighttpd restart    每個月的4號與每週一到週三的11點重啓apache
125 
126 0 4 1 jan * /usr/local/etc/rc.d/lighttpd restart    一月一號的4點重啓apache
127 
128 
129 
130 參考
131 
132 
133 http://askubuntu.com/questions/417111/open-firefox-from-bash-file-error-no-display-specified            圖形桌面
相關文章
相關標籤/搜索