【Ubuntu系統好好玩】定期執行任務的cron及notify-send
![](https://assets.matters.news/embed/2af12e7e-55f5-4cbc-af9a-3c009e7a8efa.png)
由於日常工作所使用的作業系統為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時代下為創作者、閱讀者打造的專屬共贏平台 — 為什麼要加入?
歡迎加入一起練習寫作,賺取知識,累積財富!
喜欢我的作品吗?别忘了给予支持与赞赏,让我知道在创作的路上有你陪伴,一起延续这份热忱!
![](https://imagedelivery.net/kDRCweMmqLnTPNlbum-pYA/prod/avatar/dc9e385e-cbd4-475f-8be8-ba3267a6bf88.jpeg/public)
- 来自作者
- 相关推荐