天天看點

Linux 定時任務——crontab 的使用

cron 是一個可以用來根據時間、日期、月份、星期的組合來排程對重複任務的執行的守護程序。

名稱 : crontab 

使用權限 : 所有使用者 

使用方式 : 

crontab [ -u user ] file 

crontab [ -u user ] { -l | -r | -e } 

說明 : 

crontab 是用來讓使用者在固定時間或固定間隔執行程式之用,換句話說,也就是類似使用者的時程表。-u user 是指設定指定 user 的時程表,這個前提是你必須要有其權限(比如說是 root)才能夠指定他人的時程表。如果不使用 -u user 的話,就是表示設定自己的時程表。 

餐數 : 

-e : 執行文字編輯器來設定時程表,内定的文字編輯器是 vi,如果你想用别的文字編輯器,則請先設定 visual 環境變數來指定使用那個文字編輯器(比如說 setenv visual  joe) 

-r : 删除目前的時程表 

-l : 列出目前的時程表 

基本格式 : 

*  *  *  *  *  command 

分 時    日   月     周     指令 

第1清單示分鐘1~59 每分鐘用*或者 */1表示 

第2清單示小時1~23(0表示0點) 

第3清單示日期1~31 

第4清單示月份1~12 

第5列辨別星期幾0~6(0表示星期天) 

第6列要運作的指令 

<code>1</code>

<code>#python by kryptosx</code>

<code>2</code>

<code>#按照cron要求格式顯示目前時間</code>

<code>3</code>

<code>#minute hour day month dayofweek</code>

<code>4</code>

<code>import</code> <code>datetime </code>

<code>5</code>

<code>cron_format </code><code>=</code> <code>'%m %h %d %m %w'</code>

<code>6</code>

<code>datetime.datetime.now().strftime(cron_format)</code>

如果執行的指令會在控制台中顯示資訊,那麼它将會使用郵件發送給目前使用者:

<code>heirloom mail version 12.5 7/5/10.  type ? for help.</code>

<code>"/var/spool/mail/kryptosx": 8 messages</code>

<code>&gt;   1 (cron daemon)         wed jun 11 16:00  28/1069  "cron &lt;kryptosx@localhost&gt;"</code>

<code>#郵件的内容中顯示的就是你執行這個指令時控制台顯示的内容。比如執行失敗。</code>

<code>/bin/sh: /home/kryptosx/a.cpp: 權限不夠</code>

繼續閱讀