欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

linux Shell學(xué)習(xí)筆記第五天

 更新時間:2010年12月25日 17:59:11   作者:  
最近看Shell有點頭暈了,再看一天就要忙公司的squid問題了。 現(xiàn)在雙線機房即將成為單線機房。

第五天:函數(shù)與任務(wù)調(diào)度

函數(shù)的優(yōu)勢

分而治之f

協(xié)同合作

方便管理

維護簡單

函數(shù)的結(jié)構(gòu)

    function 函數(shù)名()

    {

        命令1

        命令2

        命令3

    }

函數(shù)的參數(shù)傳遞

    向函數(shù)傳遞參數(shù)就像在一般腳本中使用特殊變量$1,$2,$3…$9一樣,函數(shù)取得所傳參數(shù)后將原始參數(shù)傳回shell腳本,因此最好先在函數(shù)內(nèi)重新設(shè)置變量保存所傳的參數(shù)。這樣如果函數(shù)有一點錯誤,就可以通過已經(jīng)本地化的變量名迅速加以跟蹤。

函數(shù)文件

    當(dāng)你手機一些經(jīng)常使用的函數(shù)時,可以將之放入函數(shù)文件中并將文件載入shell。

    文件頭應(yīng)包含語句#!/bin/bash,文件名可任意選取,但最好與相關(guān)任務(wù)有某種實際聯(lián)系。

    #!/bin/bash

    #注釋

    function1()

    {

    }

函數(shù)文件示例

functions.main

#!/bin/bash

#functions.main

findit()

{

    if [$# -lt 1 ];then

        echo “usage:findit file”

        return 1

    fi

    find / -name $1 –peint

}

函數(shù)使用示例

    . functions.main            載入函數(shù)

    set                        查看是否載入函數(shù)

    findit                    調(diào)用函數(shù)

    findit functions.main        調(diào)用函數(shù)

    unset findit                刪除findit函數(shù)

單次任務(wù)調(diào)度

    at用于在指定時間調(diào)度一次性的任務(wù).

    格式:

        at [選項] time

            -f 從文件中讀取命令或腳本

            -m在作業(yè)完成后,給用戶發(fā)電子郵件

            -v 顯示作業(yè)唄執(zhí)行的時間

    服務(wù)啟動與停止

        service atd start

        service atd stop

    刪除任務(wù) atrm

單次任務(wù)調(diào)度示例

    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

循環(huán)調(diào)度crontab

    crontab可以定期運行一些作業(yè)任務(wù)。它是一個腳本,每次linux啟動時都會自動啟動該腳本。

    格式:

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

            -e執(zhí)行文字編輯器來設(shè)定時程表

            -l 列出文字編輯器來設(shè)定時程表

            -r刪除目前的時程表

            -v列出用戶cron作業(yè)的狀態(tài)

crontab配置

    crontab可以定期運行一些作業(yè)任務(wù)。它是一個腳本,每次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應(yīng)用場景

    每五分鐘測試與網(wǎng)關(guān)192.168.1.254是否連通 ping */5 * * * *

    用戶alex每個周日中午12點備份samba的配置文件

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

總結(jié)回顧

    函數(shù)的優(yōu)勢

        協(xié)同合作

        檢查方便

        高級靈活

    任務(wù)調(diào)度的方式

        at

        crontab

相關(guān)文章

最新評論