日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux的“自动化”

發布時間:2024/4/17 linux 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux的“自动化” 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

linux的“自動化”

linux系統的web網站在運營狀態時,我們常需要對網站進行維護,例如查看資源剩余并做出響應、日志分割、數據整理,在特定狀態執行特定任務等等,這些都會需要linux能實現自動執行某些任任務。本篇博文介紹如何進行常見的linux自動化任務。

實現“自動化”有如下好處:

  • 節省人力,一個腳本就夠了。
  • 在夜晚自動執行可以避開網站流量高峰期,不影響網站白天的效率。
  • 準確,設置完善的情況下,不會出差錯。
  • 當然最重要的還是省心了,不用頻繁的敲某些命令了。

  • ?開機啟動

    開機啟動應該是我們很經常的需求了,我們常需要在開機時就自動執行某些命令來開啟服務,進程等,有了它我們不必再在每次開機時輸入同一堆命令。

    chkconfig命令

    使用chkconfig命令可以在設置在不同啟動級別下啟動特定的服務或是程序。

    先說一下linux的運行級別:

    • 等級0表示:表示關機
    • 等級1表示:單用戶模式
    • 等級2表示:無網絡連接的多用戶命令行模式
    • 等級3表示:有網絡連接的多用戶命令行模式
    • 等級4表示:不可用
    • 等級5表示:帶圖形界面的多用戶模式
    • 等級6表示:重新啟動

    chkconfig的命令如下:

    chkconfig --list //命令查看已設置的開啟自啟動列表。 xxxd 0:off 1:off 2:on ... 6:off //list的結果,表示在xxxd服務在啟動級別為2 3 4 5 的情況下會自動啟動。 chkconfig --add xxxd//向任務列表中添加一個xxxd服務 chkconfig [--level 1/2/../6] xxxd on/off//設置xxxd用服務在n狀態為開/關,[]內省略則在2345級別開啟 chkconfig --del xxxd //將任務列表中的xxxd服務刪除

    rc.d文件的編輯

    也可以直接編輯/etc/rc.d/目錄下的文件來實現開機自啟動。此目錄下有很多文件,rcn.d是在啟動狀態為n的情況下的啟動文件夾,rc、rc.sysinit、init.d都是系統的模塊或系統設置的自啟文件[夾]。

    我們用vim rc.local 編輯 rc.local文件,來定制自己的自啟計劃。命令十分簡單,就像平常在操作一樣。如/usr/local/apache/bin/apachectl start表示開機自啟動apache服務器。


    ?at實現定時任務

    at是一個簡單的功能簡單的定時任務程序,它只能進行一次性的定時任務,其用法如下:

    #at time      //at加時間啟動at命令 at>operation    //輸入要執行的操作 at>Ctrl+D      //按Ctrl+D退出命令編輯

    其time的常見形式如下

    at H:m tomorrow //第二天的H點m分 at now + n minutes/hours/days/weeks //在n分/時/天/周后 at midnight //在午夜=-= at H:m pm/am //在當天上午/下午的H點m分

    我們也可以在/var/spool/at文件中查看at的當前命令。還需要注意的是,linux默認atd進程關閉狀態,需要手動打開。


    crontab實現定時任務

    linux內置的cron進程能幫我們實現這些需求,cron搭配shell腳本,非常復雜的指令也沒有問題。

    cron介紹

    cron守護進程是一個由實用程序和配置文件組成的小型子系統,在幾乎所有類 UNIX 系統上都可以找到某種風格的cron,我們可以用ps aux|grep cron找到crond這個守護進程。

    我們經常使用的是crontab命令是cron table的簡寫,它是cron的配置文件,也可以叫它作業列表,我們可以在以下文件夾內找到相關配置文件。

    • /var/spool/cron/ 目錄下存放的是每個用戶包括root的crontab任務,每個任務以創建者的名字命名
    • /etc/crontab 這個文件負責調度各種管理和維護任務。
    • /etc/cron.d/ 這個目錄用來存放任何要執行的crontab文件或腳本。
    • 我們還可以把腳本放在/etc/con.hourly、/etc/con.daily、/etc/con.weekly、/etc/con.monthly目錄中,讓它每小時/天/星期、月執行一次。

    crontab的使用

    我們常用的命令如下:

    crontab [-u username]    //省略用戶表表示操作當前用戶的crontab-e (編輯工作表)-l (列出工作表里的命令)-r (刪除工作作)

    我們用crontab -e進入當前用戶的工作表編輯,是常見的vim界面。每行是一條命令。

    crontab的命令構成為 時間+動作,其時間有分、時、日、月、周五種,操作符有

    • * 取值范圍內的所有數字
    • / 每過多少個數字
    • - 從X到Z
    • 散列數字

    以下是幾個例子。

    時間 注釋 0 0 25 12 * //在12月25日的0時0分 */5 * * * * //每過5分鐘 * 4-6 * * * //每天的4 5 6點 * * * * 2,5 //每周二和周五

    配合簡單的shell腳本

    如果我們的命令有邏輯判斷等非常復雜的操作時,再直接編輯crontab就有點困難了,這時,我們可以使用shell腳本。其來歷,分類定義與題不符,不再多說,我們直接說它的用法。

    我們用vim /usr/sh/test.sh來使用vim編輯一個shell腳本

    #!/bin/sh //聲明開始shell腳本 a = "hello world" //定義一個shell變量 echo $a //熟悉的echo,輸出a變量

    然后crontab -e編輯crontab,添加 */5 * * * * /usr/sh/test.sh每隔五分鐘運行一次test.sh腳本,也可以用?/phppath/php /filepath/test.php?來用php進程來執行php程序。

    如果您覺得本博文對您有幫助,您可以推薦或關注我,如果您有什么問題,可以在下方留言討論,謝謝。

    總結

    以上是生活随笔為你收集整理的linux的“自动化”的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。