天天看點

linux總結(1)——crontab、nohup、chage

由于linux指令實在太多,還是需要常常在工作實踐中來學習總結。是以專門弄出一塊地方來總結工作中常用的linux指令。

crontab

該指令用來很友善地啟動定時任務,任務通常是一個腳本檔案。

格式: f1 f2 f3 f4 f5 program

其中 f1 是表示分鐘,f2 表示小時,f3 表示一個月份中的第幾日,f4 表示月份,f5 表示一個星期中的第幾天。program 表示要執行的程式。

當 f1 為 * 時表示每分鐘都要執行 program,f2 為 * 時表示每小時都要執行程式,其餘類推。

當 f1 為 a-b 時表示從第 a 分鐘到第 b 分鐘這段時間内要執行,f2 為 a-b 時表示從第 a 到第 b 小時都要執行,其餘類推。

當 f1 為 */n 時表示每 n 分鐘個時間間隔執行一次,f2 為 */n 表示每 n 小時個時間間隔執行一次,其餘類推。

當 f1 為 a, b, c,... 時表示第 a, b, c,... 分鐘要執行,f2 為 a, b, c,... 時表示第 a, b, c...個小時要執行,其餘類推。

例如,每小時的第30分鐘執行某個腳本:  30 * * * * bash a.sh > a.sh.log  2 > &1

crontab -l列出目前使用者的周期指令清單

crontab -e 預設使用vi來編輯目前使用者的周期指令列

crontab -v列出使用者crontab清單的狀态

與該指令有關的檔案

/etc/cron.deny 

該檔案中所列的使用者不允許使用Crontab指令 

/etc/cron.allow 

該檔案中所列的使用者允許使用Crontab指令 

/var/spool/cron/ 

是所有使用者的crontab檔案 

nohup

該指令用來忽略linux用戶端工具的挂斷資訊,使任務繼續在伺服器上運作,通常是長時間任務。

nohup Command [ Arg ... ] [ & ]

Command通常是一個寫好的腳本,Arg是可以傳入Commend的參數清單,&用于背景執行,通常還配合重定向,将log日志寫入指定位置,如下。實際上這個指令将程式作為守護程序了。

nohup bash a.sh > a.sh.log 2 > &1 &

chage

該指令用來檢視、設定使用者的密碼過期天數等參數。今天早上發現昨晚有些crontab任務沒有執行,機器上某些使用者的crontab -l不能檢視了。如下

linux總結(1)——crontab、nohup、chage

以前沒有遇到過,後來發現昨晚剛好是qs使用者密碼過期了,一旦過期就不能再執行定時任務了,是以使用該指令來修改。

chage -l qs

檢視qs使用者的密碼過期時間等資訊

chage --help

檢視設定資訊,将-E設定為-1,就是永遠不過期。

linux總結(1)——crontab、nohup、chage

例如

chage -m 0 -M -1 -W -1 -E -1 qs

繼續閱讀