熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> 游戲開發 >> 正文

linux Shell學習筆記第五天

2022-06-13   來源: 游戲開發 

  第五天函數與任務調度

  函數的優勢

  分而治之f

  協同合作

  方便管理

  維護簡單

  函數的結構

  function 函數名()

  {

  命令

  命令

  命令

  }

  函數的參數傳遞

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

  函數文件

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

  文件頭應包含語句#!/bin/bash文件名可任意選取但最好與相關任務有某種實際聯系

  #!/bin/bash

  #注釋

  function()

  {

  }

  函數文件示例

  functionsmain

  #!/bin/bash

  #functionsmain

  findit()

  {

  if [$# lt ];then

  echo usage:findit file

  return

  fi

  find / name $ –peint

  }

  函數使用示例

   functionsmain            載入函數

  set                        查看是否載入函數

  findit                    調用函數

  findit functionsmain        調用函數

  unset findit                刪除findit函數

  單次任務調度

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

  格式

  at [選項] time

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

  m在作業完成後給用戶發電子郵件

  v 顯示作業呗執行的時間

  服務啟動與停止

  service atd start

  service atd stop

  刪除任務 atrm

  單次任務調度示例

  at –f mycrontestsh :pm tomorrow

  at –f mycrontestsh :am Tuesday

  at –f mycrontestsh :pm Feb

  at –f mycrontestsh :pm 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/cronallow

  /etc/crondeny

  /etc/crontab

  SHELL=/bin/bash

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

  MAILTO=root

  HOME=/

   **** root runparts /etc/cronhourly

   *** root runparts /etc/crondaily

   ** root runparts /etc/cronweekly

   ** root runparts /etc/cronmonthly

    五個字段分 時 日 月 星期

  crontab應用場景

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

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

   * * tar –czvf sambatargz /etc/samba/nf

  總結回顧

  函數的優勢

  協同合作

  檢查方便

  高級靈活

  任務調度的方式

  at

  crontab


From:http://tw.wingwit.com/Article/program/yxkf/201404/30419.html
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.