天天看點

ansible的系統子產品<7>service

其實前面學習了那麼多的子產品,我有個感悟,ansible的各類子產品都依賴于甚至說跟我們的linux常用功能極為相似,下面我繼續學習ansible的定時任務子產品,類似于linux下的contrab子產品

ansible的系統子產品<7>service

以上的指令表示

每天的一點零五分執行echo test

每三天的一點一分執行echo test

重新開機後執行echo test

每個小時執行echo test

來看一下corn子產品的參數:

ansible的系統子產品<7>service
ansible的系統子產品<7>service

ansible test177 -m cron -a "name='test crontab' minute=1 job='echo test'"
           

上面的指令表示在177的受管機上建立一個名字叫做test crontab的任務,任務内容是每一分鐘輸出echo test

ansible的系統子產品<7>service

在受管主機上指定使用者檢視一下任務

ansible的系統子產品<7>service

如果不想要這個定時任務就用crontab -e打開系統定時檔案,找到對應的定時任務删除即可

ansible test177 -m cron -a "name='test crontab' minute=1 hour=1 day=*/3 job='echo test'"
           

這個指令表示在177上每三天的一點一分執行echo test

minute=1表示幾點的幾分鐘,并不表示每一分鐘,剛才的了解有誤,每分鐘用/ *表示

ansible test177 -m cron -a "name='test special time' special_time=reboot job='echo time'"           

上面的指令表示在177上建立一個test special time的任務,在每次開機時執行echo time

ansible的系統子產品<7>service
ansible test177 -m cron -a "name='test special time' special_time=hourly job='echo test' backup=yes"           

表示每一個小時執行echo test 如果受管機上存在special time這個任務就替換掉

ansible的系統子產品<7>service

可以看到原來的重新開機任務已經不見了

ansible test177 -m cron -a "name='test special time' state=absent backup=yes"           

表示在177上删除這個任務,并且進行備份

ansible的系統子產品<7>service

從傳回的狀态可以看出我們的備份位置

ansible test177 -m cron -a "user=mysql name='test special time' special_time=hourly job='echo test'"           

預設情況下是指定root使用者,如果想指定使用者就直接加user就行

ansible test177 -m cron -a "name='test crontab' minute=1 hour=1 day=*/3 job='echo test' disabled=yes backup=yes"           

将我們三天一次的任務注釋掉,同時做備份檔案

ansible的系統子產品<7>service
ansible的系統子產品<7>service

如果你執行disabled的時候,打錯了時間,比如把minute=1打成了minute=2,那麼在注釋掉後,它的時間也會随之改變

是以要在後面加上backup參數以免造成不必要的麻煩

service

ansible的系統子產品<7>service

service子產品可以幫助我們啟動受管主機上的服務,例如mysql,nginx等,但是隻能啟動有service功能的受管機,包括systemctl啟動,

ansible test177 -m service -a "name=httpd state=started"           

将177中的httpd處于啟動狀态

ansible test177 -m service -a "name=nginx state=stopped"           

将177中的nginx處于停止狀态

ansible test177 -m service -a " name='nginx' enabled=yes"           

将177的nginx服務變成開機啟動