這是一個 第二篇 從一個系列中,我們使用天主教會所謂的“致命罪”作為藉口了解更多關於 Linux 世界的命令和程序。 在這種情況下,我們繼續討論對那些培養懶惰的人來說非常有用的 cron 的使用。
鑑於我們生活在一個容易被冒犯的時代,讓我在進入這個問題之前澄清一下,我無意取笑任何人的宗教信仰。 無論如何,這是一種自嘲。 我在 XNUMX 年代的大部分時間裡都在研究教理問答,因此在我領完第一次聖餐後,除非有家庭活動需要,否則我再也沒有踏入教堂。 我必須以某種方式找回那個時間。
cron 和 crontab 有什麼用?
我們說過 cron 是一個守護進程,也就是說 無需用戶干預即可在後台運行的程序。 在尋找本文的其他信息時,我發現將 daemon(Unix 系統和衍生程序稱為此類程序的方式)翻譯為 daemon 是 一個普遍的錯誤但我不會糾正它。 我們在談論罪,必須至少有一個惡魔。
cron 的作用是在之前指定的時間執行某個任務. 大多數情況下,這是由於系統需要,儘管用戶可以通過編輯稱為 crontab 的文本文件來指示其他人。
在上一篇文章中,我們說過創建 crontab 的命令是:
crontab –e
對於默認用戶
O
crontab –u nombre_de_usuario
對於任何其他人。
Crontab 是一個文本文件,它為 Cron 提供有關做什麼和何時執行的說明。
關於通過 crontab 使用 cron
要創建我們的 crontab,我們必須考慮以下幾點:
- 每個任務使用一行。
- 必須指明任務執行的日期和時間。 如果這是一項需要周期性的任務。 例如,每週三早上 5 點,其餘參數將替換為星號 (*)。
- 如果要為給定參數分配多個值,則每個值必須用逗號分隔。
- 參數用空格分隔。
- 必須知道命令啟動器所在的目錄
例如,如果我們希望我們孩子的電腦在每天晚上 20:XNUMX 關閉,指令將是
0 20 * * * /sbin/shutdown
如果我們希望僅在周日關閉,我們將指令更改為
0 20 * * 0 /sbin/shutdown
有一些快捷方式可以讓我們不必輸入所有參數。 他們是:
- @小時: 在整點執行命令。
- @日常的: 在每天開始時運行該命令。
- @每週: 在一周的第一天開始運行該命令。
- @月刊: 在每個月的第一天開始運行命令。
- @每年:在一年的第一分鐘執行命令。
使用此命令的一些示例是:
@daily /bin/sh /ruta_al_script/nombre_del_script.sh
運行 Bash 腳本。
@hourly /bin/python3 /ruta_al_script/nombre_del_script.py
每小時運行一個 python 腳本。
在所有情況下 腳本必須具有執行權限。
在我們看到的例子中,不僅指明了命令,還指明了可執行文件所在的路徑。 我們將使用這些目錄:
- /斌: 它包含系統運行所需的所有應用程序。
- /sbin: 以下是 root 用戶管理系統所需的應用程序。
- /家:存儲每個用戶的應用程序的位置。
- /usr: 用戶安裝的應用程序和文件存儲在這裡。 它們包括具有此列表中提到的名稱和功能的文件。
在下一篇文章中,我們將看到如何改進 crontab 編寫以及其他一些可用於 Linux 的自動化工具。