crotab 常用寫法摘記

2021-07-09 18:18:41 字數 1137 閱讀 2349

由於專案需要定時對業務資料庫進行備份

我便寫了乙個備份指令碼,那麼誰來定時做呢 

根據多年的專案經驗,首選 crontab

每天的23:10執行以下指令碼或者

10 23 * * * /opt/www/platform/bin/backup_platformdb.sh

10 23 * * * 

/opt/www/platform/bin/

backup_platformdb.sh > /dev/null 2>&1

對於的解釋:

每條任務排程執行完畢,系統都會將任務輸出資訊通過電子郵件的形式傳送給當前系統使用者,這樣日積月累,日誌資訊會非常大,可能會影響系統的正常執行,因此,將每條任務進行重定向處理非常重要。

例如,可以在crontab檔案中設定如下形式,忽略日誌輸出:

0 */3 * * * /usr/local/apache2/apachectl restart >/dev/null 2>&1

「/dev/null 2>&1」表示先將標準輸出重定向到/dev/null,然後將標準錯誤重定向到標準輸出,由於標準輸出已經重定向到了/dev/null,因此標準錯誤也會重定向到/dev/null,這樣日誌輸出問題就解決了。

對於crontab的一些重要點:

1)新建立的cron job,不會馬上執行,至少要過2分鐘才執行。如果重啟cron則馬上執行。

2)每條 job 執行完畢之後,系統會自動將輸出傳送郵件給當前系統使用者。日積月累,非常的多,甚至會撐爆整個系統。所以每條 job 命令後面進行重定向處理是非常必要的: >/dev/null 2>&1 。前提是對 job 中的命令需要正常輸出已經作了一定的處理, 比如追加到某個特定日誌檔案。

3)當crontab突然失效時,可以嘗試/etc/init.d/crond restart解決問題。或者檢視日誌看某個job有沒有執行/報錯tail -f /var/log/cron。

4)千萬別亂執行crontab -r。它從crontab目錄(/var/spool/cron)中刪除使用者的crontab檔案。刪除了該使用者的所有crontab都沒了。

5)在crontab中%是有特殊含義的,表示換行的意思。如果要用的話必須進行轉義\%,如經常用的date 『+%y%m%d』在crontab裡是不會執行的,應該換成date 『+\%y\%m\%d』`。

摘記 初次update常用操作

選擇 fedora 11 稍加等待之後根據系統提示重啟公升級後的 fedora 10 即可。如果你使用 rpm fusion 軟體倉庫,現在肯定已經公升級到 fedora 11 所需 rpm fusion 軟體倉庫了。即使你沒使用 rpm fusion 軟體倉庫,它也會隨著整個系統的公升級而被公升級...

MySQL常用寫法

create database database name 建立資料庫 drop database dbname 刪除資料庫 create table tabname col1type1 not null primary key col2type2 not null 建立新錶,新增限制條件,設定主鍵...

jajva IO常用寫法

指定編碼讀取檔案路徑建立緩衝輸入流 bufferedreader br new bufferedreader new inputstreamreader new fileinputstream inputfilepath utf 8 根據檔案路徑建立緩衝輸入流 bufferedreader in n...