crontab 定時任務
# example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) or jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (sunday=0 or 7) or sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed
*/5 * * * * bash指令碼名 每5分鐘執行
0 2 * * * bash指令碼名 每天凌晨2點執行
0 2 7 * * bash指令碼名 每月7號凌晨2點執行
注: day of month + month 與 day of week 不同時使用
crontab命令:
-l: 顯示當前使用者的任務列表
-l -u username 顯示其它使用者的任務列表
-e:編輯任務
-r: 移除所有任務
練習.:每週2,4,7備份/var/log/messages檔案至/backup/messages/目錄中,檔名儲存為形如messages-2017-03-27.tar.xz
0 0 * * 2,4,7 /bin/cp -a /var/log/messages backup/messages/messages-`/bin/date "+%y-%m-%d"`
案例:重定向rm命令,使被刪除的檔案移動到recycle_bin目錄。再寫乙個定時任務每天刪除recycle_bin目錄中7天前的檔案
1. 新增檔案/usr/local/recycle_bin/recycle_bin.sh
#!/bin/bash2. 重定向rm命令count=0
dir=/tmp
if [ -d /tmp/recycle_bin ];then
dir=/tmp/recycle_bin/`date +%f-%h-%m-%s`
mkdir -p $dir
for i in $*;do
count=`echo $i|grep "^-"|wc -l`
if [ $count -ne 1 ];then
mv $i $dir
else
count=0
fidone
else
mkdir -p /tmp/recycle_bin
dir=/tmp/recycle_bin/`date +%f-%h-%m-%s`
mkdir -p $dir
for i in $*;do
count=`echo $i|grep "^-"|wc -l`
if [ $count -ne 1 ];then
mv $i $dir
else
count=0
fidone
fi
修改~/.bashrc, 如有要對所有使用者生效就修改/etc/.bashrc
alias rm='rm -i' 改為:
alias rm='/usr/local/recycle_bin/recycle_bin.sh'
resource ~/.bashrc
3. 新增檔案/usr/local/recycle_bin/clear_recycle_bin.sh
#!/bin/bash4.新增定時任務clear_dir=/tmp/recycle_bin/`date -d "7 day ago" +"%y-%m-%d"`*
#clear_dir=/tmp/recycle_bin/`date %y-%m-%d`*
/bin/rm -rf $clear_dir
crontab -e
30 11 */1 * * /usr/local/recycle_bin/clear_recycle_bin.sh
bash程式設計之 函式
函式 復用 模組程式設計 語法 function f name f name 呼叫 使用函式名 函式名出現的地方,會被自動替換為函式 練習 利用函式改寫此前的服務指令碼 bin bash prog basename 0 lockfile var lock subsys prog start stop...
bash程式設計之陣列
陣列 資料結構,資料序列,儲存連續多個資料,可以使用索引獲取相關元素 宣告陣列 declare a 宣告索引陣列 declare a 宣告關聯數元素賦值 一次賦值乙個元素 root mm alias 0 read root mm echo 一次賦值多個元素 索引預設從0開始 root mm alia...
bash指令碼程式設計之選項
bash指令碼程式設計之選項 getopts getopts 選項字串 名稱 引數 解析選項引數。getopts 被 shell 過程用於解析可定位的引數作為選項。optstring 字串包含待識別的選項字母 如果乙個字母後面跟 著冒號,則該選項期待乙個引數,而該引數應用空格與選項分開。每次啟動時,...