跳到主要內容

【Ubuntu系統好好玩】定期執行任務的cron及notify-send



由於日常工作所使用的作業系統為Ubuntu的Linux系統, 剛好有「定時提醒」的需求, 並進行了一些研究,且將心得整理給大家進行參考。


定時提醒常常被應用在我們手機的鬧鐘設定, 那工作上呢? 比如說: 10分鐘進行喝水休息,但也需要配合我們的工作環境進行, 若使用手機的鬧鐘設定(振動、鈴聲)會影響到的同事,並非是一個良好的選項, 因此我們需要在工作的作業環境下進行設定, 那範例將會以Ubuntu進行說明。

如何發送通知?

我們會使用這套工具「libnotify-bin」,為x作業系統進行發送通知的套件, 在Ubuntu 9.0之後預設已經安裝此套件了, 假若是之前的版本請安裝:

apt-get install libnotify-bin


安裝完成後試著發送一下進行測試:

notify-send "標題" "內容"

如何定時?

定時這部份就沒有懸念了, 直接使用內建的「crontab」這套工具來進行排程, 常見的指令如下:

crontab命令常見於Unix和類Unix的操作系統之中,用於設置週期性被執行的指令。

該命令從標準輸入設備讀取指令,並將其存放於“crontab”文件中,以供之後讀取和執行。crontab 是用來讓使用者在固定時間或固定間隔執行程序之用,換句話說,也就是類似使用者的任務計劃表。

 crontab -r : 刪除目前的任務表 

 crontab -l : 列出目前的任務表 

 crontab -e : 執行文字編輯器來設定任務表


我們先來稍微了解一下規則吧

crontab規則用於定義在何時和何時執行命令。這些規則由五個欄位組成,分別表示分鐘、小時、日、月、周。

下面是這些欄位及其允許的值的詳細信息:

分鐘(0-59) 小時(0-23) 日(1-31) 月(1-12) 星期(0-7),其中0和7都代表星期天

每個欄位都可以使用單個數字、數字範圍、逗號分隔的數字列表、通配符、特殊字符等進行定義。

下面是一些常見的例子:

● 在每天的凌晨1點執行一個命令:0 1 * * * command 

● 每周一的凌晨3點執行一個命令:0 3 * * 1 command 

● 每個小時的30分鐘和50分鐘執行一個命令:30,50 * * * * command 

● 每天的早上8點到下午5點之間,每個小時的第15分鐘執行一個命令:15 8-17 * * * command 

● 每個星期六的早上6點執行一個命令:0 6 * * 6 command

定時 + 通知來個提醒吧

首先我們來註冊一下排程吧:

crontab -e


進入之後系統會在上方顯示一個簡單的說明,最後一行的代表

# 分鐘 小時 日期 月 星期幾 指令 m h dom mon dow command


我們就假設每10分鐘就提醒該休息啦,可以規劃以下指定進行註冊:

*/10 * * * * notify-send "休息提示" "該休息囉!!!"



喜歡撰寫文章的你,不妨來了解一下:

Web3.0時代下為創作者、閱讀者打造的專屬共贏平台 — 為什麼要加入?

歡迎加入一起練習寫作,賺取知識,累積財富!

留言

這個網誌中的熱門文章

java西元民國轉換_各種不同格式

C#資料庫操作(新增、修改、刪除、查詢)