CentOS,crontab的學習、使用、問題解決記錄,centoscrontab
參考:http://blog.csdn.net/luanwpp/article/details/7490871
參考:
http://mp.weixin.qq.com/s?src=11×tamp=1509778367&ver=493&signature=bWRs-rFvNNUU7DpqiUYLbyKdjb0miORobGqQyRQXsAIqddmGdlle5CtDsdsVKLkFYHhnKpjqwjNoP8RUeuq1wrKKSc4emj8BketIjXKX2SW6Leri-YvbGgM*yGJAWJcX&new=1
參考:http://www.cnblogs.com/intval/p/5763929.html
Cron(Crond服務)是UNIX,SOLARIS,LINUX系統下使用的,可以通過Cron指令碼能使計劃任務定期在系統後台自動啟動並執行服務。在UNIX,SOLARIS,LINUX下計劃任務,術語為cron jobs。
注:如果要在windows系統中執行類似操作,可以設定windows的任務計劃,具體參考 https://jingyan.baidu.com/article/466506582d7c48f549e5f8b5.html
1、Crontab約束
CentOS release 6.9(Final)版本中,cron資訊儲存在/etc目錄。
/etc/cron.allow檔案,/etc/cron.deny檔案。
如果這兩個檔案都不存在,則只有root使用者可以使用crontab。
如果使用者名稱記錄在allow檔案中,則該使用者crontab有效。
如果allow檔案不存在,且使用者名稱沒被記錄在deny檔案中,則該使用者crontab有效。
如果只存在deny檔案且為空白時,所有可登陸使用者都可以使用crontab。
2、Crontab格式與用法
使用者通過crontab –e建立或修改的crontab檔案儲存在/var/spool/cron目錄中,檔案名稱與使用者名稱一致。
3、Crontab環境設定(對於CentOS來說,定義在/etc/crontab中)
第一行SHELL變數指定了系統要使用哪個shell。
第二行PATH變數指定了系統執行命令的路徑。
第三行MAILTO變數指定了crond的任務執行資訊將通過電子郵件發送給root使用者。如果沒空,則表示不發送。
第四行Home變數指定了執行命令或指令碼時使用的主目錄
4、設定crontab沒有標準輸出和錯誤輸出
輸入crontab -e 編輯crontab檔案,在命令的最後加上 >/dev/null 2>&1 ,如
解釋:/dev/null表示空裝置檔案,2>&1表示標準錯誤輸出到標準輸出的檔案,即空裝置檔案
5、crontab 與環境變數(問題:手動可執行指令碼,但crontab卻無法執行)
參考:
http://xiachaofeng.iteye.com/blog/1405184
http://www.tennfy.com/3088.html