第五天:函數(shù)與任務(wù)調(diào)度
協(xié)同合作 方便管理 維護(hù)簡(jiǎn)單 函數(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ù)有一點(diǎn)錯(cuò)誤,就可以通過(guò)已經(jīng)本地化的變量名迅速加以跟蹤。 函數(shù)文件
文件頭應(yīng)包含語(yǔ)句#!/bin/bash,文件名可任意選取,但最好與相關(guān)任務(wù)有某種實(shí)際聯(lián)系。 #!/bin/bash #注釋 function1() { } 函數(shù)文件示例
#!/bin/bash #functions.main findit() { if [$# -lt 1 ];then echo “usage:findit file” return 1 fi find / -name $1 –peint } 函數(shù)使用示例
set 查看是否載入函數(shù) findit 調(diào)用函數(shù) findit functions.main 調(diào)用函數(shù) unset findit 刪除findit函數(shù) 單次任務(wù)調(diào)度
格式: at [選項(xiàng)] time -f 從文件中讀取命令或腳本 -m在作業(yè)完成后,給用戶(hù)發(fā)電子郵件 -v 顯示作業(yè)唄執(zhí)行的時(shí)間 服務(wù)啟動(dòng)與停止 service atd start service atd stop 刪除任務(wù) atrm 單次任務(wù)調(diào)度示例
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 [-e [UserName]|-l [UserName]|-r [UserName]] -e執(zhí)行文字編輯器來(lái)設(shè)定時(shí)程表 -l 列出文字編輯器來(lái)設(shè)定時(shí)程表 -r刪除目前的時(shí)程表 -v列出用戶(hù)cron作業(yè)的狀態(tài) crontab配置
全局配置文件 /etc/crontab 用戶(hù)配置文件 /var/spool/cron/ crontab的用戶(hù)配置 /etc/cron.allow /etc/cron.deny /etc/crontab
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 五個(gè)字段,分 時(shí) 日 月 星期 crontab應(yīng)用場(chǎng)景
用戶(hù)alex每個(gè)周日中午12點(diǎn)備份samba的配置文件 0 12 * * 0 tar –czvf samba.tar.gz /etc/samba/smb.conf 總結(jié)回顧
檢查方便 高級(jí)靈活 任務(wù)調(diào)度的方式
crontab
|
|
來(lái)自: 168一路發(fā) > 《linux》