Linux後台執行crontab檔案Linux定時任務系統cron

來源:互聯網
上載者:User
文章目錄
  • cron和crontab
  • at命令
  • &命令
  • nohup命令

當我們在終端或控制台工作時,可能不希望由於運行一個作業而佔住了螢幕,因為可能還有更重要的事情要做,比如閱讀電子郵件。對於密集訪問磁碟的進程,你可能希望它能夠在每天的非負荷高峰時間段運行。為了使這些進程能夠在後台運行,也就是說不在終端螢幕上運行,有幾種選擇方法可供使用:

  • 設定crontab檔案,並用它來提交作業。
  • 使用at命令來提交作業。
  • 在後台提交作業。
  • 使用nohup命令提交作業。

cron:系統調度進程。可以使用它在每天的非高峰負荷時間段運行作業,或在一周或一月中的不同時段運行。

at命令:使用它在一個特定的時間運行一些特殊的作業,或在晚一些的非負荷高峰時間段或高峰負荷時間段運行。

&:使用它在後台運行一個佔用時間不長的進程。

nohup:使用它在後台運行一個命令,即使在使用者退出時也不受影響。

 

cron和crontab

cron是系統主要的調度進程,可以在無需人工幹預的情況下運行作業。有一個叫做crontab的命令允許使用者提交、編輯或刪除相應的作業。每一個使用者都可以有一個crontab檔案來儲存調度資訊。可以使用它運行任意一個shell指令碼或某個命令,每小時運行一次,或一周三次,這完全取決於你。每一個使用者都可以有自己的crontab檔案,但在一個較大的系統中,系統管理員一般會禁止這些檔案,而只在整個系統保留一個這樣的檔案。

 

系統管理員是通過cron.deny和cron.allow兩個檔案來禁止或允許使用者擁有自己的crontab檔案。

 

關於cron的更多資訊請參閱文檔《crontab檔案》和《Linux定時任務系統cron》。

 

at命令

at命令允許使用者向cron守護進程提交作業,使其在稍後的時間運行。這裡稍後的時間可能是指10min以後,也可能是指幾天以後。如果你希望在一個月或更長的時間以後運行,最好還是使用crontab檔案。

 

一旦一個作業被提交, at命令將會保留所有當前的環境變數,包括路徑,不象crontab,只提供預設的環境。該作業的所有輸出都將以電子郵件的形式發送給使用者,除非你對其輸出進行了重新導向,絕大多數情況下是重新導向到某個檔案中。

和crontab一樣,根使用者可以通過/etc目錄下的at.allow和at.deny檔案來控制哪些使用者可以使用at命令,哪些使用者不行。不過一般來說,對at命令的使用不如對crontab的使用限制那麼嚴格。

 

&命令

當在前台運行某個作業時,終端被該作業佔據;而在後台運行作業時,它不會佔據終端。可以使用&命令把作業放到後台執行。

該命令的一般形式為:

命令 &

 

為什麼要在後台執行命令?因為當在後台執行命令時,可以繼續使用你的終端做其他事情。適合在後台啟動並執行命令有find、費時的列印工作、費時的排序及一些shell指令碼。在後台運行作業時要當心:需要使用者互動的命令不要放在後台執行,因為這樣你的機器就會在那裡傻等。不過,作業在後台運行一樣會將結果輸出到螢幕上,幹擾你的工作。如果放在後台啟動並執行作業會產生大量的輸出,最好使用下面的方法把它的輸出重新導向到某個檔案中:

command >out.file 2>&1 &

在上面的例子中,所有的標準輸出和錯誤輸出都將被重新導向到一個叫做out.file 的檔案中。

 

當你成功地提交進程以後,就會顯示出一個進程號,可以用它來監控該進程,或殺死它。

 

nohup命令

如果你正在運行一個進程,而且你覺得在退出帳戶時該進程還不會結束,那麼可以使用nohup命令。該命令可以在你退出帳戶之後繼續運行相應的進程。nohup就是不掛起的意思( no hang up)。

 

該命令的一般形式為:

nohup command &

 

如果使用nohup命令提交作業,那麼在預設情況下該作業的所有輸出都被重新導向到一個名為nohup.out的檔案中,除非另外指定了輸出檔案:

nohup command > myout.file 2>&1

在上面的例子中,輸出被重新導向到myout.file檔案中。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.