linux Shell學習筆記第五天_其它

來源:互聯網
上載者:User

第五天:函數與任務調度

函數的優勢

分而治之f

協同合作

方便管理

維護簡單

函數的結構

    function 函數名()

    {

        命令1

        命令2

        命令3

    }

函數的參數傳遞

    向函數傳遞參數就像在一般指令碼中使用特殊變數$1,$2,$3…$9一樣,函數取得所傳參數後將原始參數傳回shell指令碼,因此最好先在函數內重新設定變數儲存所傳的參數。這樣如果函數有一點錯誤,就可以通過已經本地化的變數名迅速加以跟蹤。

函數檔案

    當你手機一些經常使用的函數時,可以將之放入函數檔案中並將檔案載入shell。

    檔案頭應包含語句#!/bin/bash,檔案名稱可任意選取,但最好與相關任務有某種實際聯絡。

    #!/bin/bash

    #注釋

    function1()

    {

    }

函數檔案樣本

functions.main

#!/bin/bash

#functions.main

findit()

{

    if [$# -lt 1 ];then

        echo “usage:findit file”

        return 1

    fi

    find / -name $1 –peint

}

函數使用樣本

    . functions.main            載入函數

    set                        查看是否載入函數

    findit                    調用函數

    findit functions.main        調用函數

    unset findit                刪除findit函數

單次任務調度

    at用於在指定時間調度一次性的任務.

    格式:

        at [選項] time

            -f 從檔案中讀取命令或指令碼

            -m在作業完成後,給使用者發電子郵件

            -v 顯示作業唄執行的時間

    服務啟動與停止

        service atd start

        service atd stop

    刪除任務 atrm

單次任務調度樣本

    at –f mycrontest.sh 10:00pm tomorrow

    at –f mycrontest.sh 2:00am Tuesday

    at –f mycrontest.sh 2:00pm Feb 11

    at –f mycrontest.sh 2:00pm next week

迴圈調度crontab

    crontab可以定期運行一些作業任務。它是一個指令碼,每次linux啟動時都會自動啟動該指令碼。

    格式:

        crontab [-e [UserName]|-l [UserName]|-r [UserName]]

            -e執行文字編輯器來設定時程表

            -l 列出文字編輯器來設定時程表

            -r刪除目前的時程表

            -v列出使用者cron作業的狀態

crontab配置

    crontab可以定期運行一些作業任務。它是一個指令碼,每次linux啟動時都會自動啟動該指令碼。

    全域設定檔 /etc/crontab

    使用者設定檔 /var/spool/cron/

crontab的使用者配置

    /etc/cron.allow

    /etc/cron.deny

/etc/crontab

SHELL=/bin/bash

PATH=/sbin;/bin:/usr/sbin;/usr/bin

MAILTO=root

HOME=/

01 **** root run-parts /etc/cron.hourly

02 4*** root run-parts /etc/cron.daily

22 4**0 root run-parts /etc/cron.weekly

42 41** root run-parts /etc/cron.monthly

 五個欄位,分 時 日 月 星期

crontab應用情境

    每五分鐘測試與網關192.168.1.254是否連通 ping */5 * * * *

    使用者alex每個周日中午12點備份samba的設定檔

    0 12 * * 0 tar –czvf samba.tar.gz /etc/samba/smb.conf

總結回顧

    函數的優勢

        協同合作

        檢查方便

        進階靈活

    任務調度的方式

        at

        crontab

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.