1. 程式人生 > >Ubuntu 16.04 開機啟動和定時任務

Ubuntu 16.04 開機啟動和定時任務

1,crontab

格式:M H D m d cmd == 分 時 天 月 周幾 命令

引數 :

crontab -e : 執行文字編輯器來設定時程表,內定的文字編輯器是 VI,如果你想用別的文字編輯器,則請先設定 VISUAL 環境變數

來指定使用那個文字編輯器(比如說 setenv VISUAL joe)

crontab -r : 刪除目前的時程表

crontab -l : 列出目前的時程表

crontab file [-u user]-用指定的檔案替代目前的crontab。

重啟服務:

sudo service cron restart

例:設定重啟系統

0 16 * * * /sbin/reboot

2,開機啟動服務

1、方法一,編輯rc.loacl指令碼 
Ubuntu開機之後會執行/etc/rc.local檔案中的指令碼,
所以我們可以直接在/etc/rc.local中新增啟動指令碼。
當然要新增到語句:exit 0 前面才行。
如:
sudo vi /etc/rc.local
然後在 exit 0 前面新增好指令碼程式碼。

 2、方法二,新增一個Ubuntu的開機啟動服務。
如果要新增為開機啟動執行的指令碼檔案,
可先將指令碼複製或者軟連線到/etc/init.d/目錄下,
然後用:update-rc.d xxx defaults NN命令(NN為啟動順序),
將指令碼新增到初始化執行的佇列中去。
注意如果指令碼需要用到網路,則NN需設定一個比較大的數字,如99。
1) 將你的啟動指令碼複製到 /etc/init.d目錄下
 以下假設你的指令碼檔名為 test。
2) 設定指令碼檔案的許可權
 $ sudo chmod 755 /etc/init.d/test
3) 執行如下命令將指令碼放到啟動指令碼中去:
 $ cd /etc/init.d
 $ sudo update-rc.d test defaults 95
 注:其中數字95是指令碼啟動的順序號,按照自己的需要相應修改即可。在你有多個啟動指令碼,而它們之間又有先後啟動的依賴關係時你就知道這個數字的具體作用了。該命令的輸出資訊參考如下:
update-rc.d: warning: /etc/init.d/test missing LSB information
update-rc.d: see <http://wiki.debian.org/LSBInitScripts>
  Adding system startup for /etc/init.d/test ...
    /etc/rc0.d/K95test -> ../init.d/test
    /etc/rc1.d/K95test -> ../init.d/test
    /etc/rc6.d/K95test -> ../init.d/test
    /etc/rc2.d/S95test -> ../init.d/test
    /etc/rc3.d/S95test -> ../init.d/test
    /etc/rc4.d/S95test -> ../init.d/test
    /etc/rc5.d/S95test -> ../init.d/test
解除安裝啟動指令碼的方法:
 $ cd /etc/init.d
$ sudo update-rc.d -f test remove
命令輸出的資訊參考如下:
Removing any system startup links for /etc/init.d/test ...
    /etc/rc0.d/K95test
    /etc/rc1.d/K95test
    /etc/rc2.d/S95test
    /etc/rc3.d/S95test
    /etc/rc4.d/S95test
    /etc/rc5.d/S95test
    /etc/rc6.d/K95test