linuxのループ実行タスク
2943 ワード
-e:edit、計画タスクリストの編集を表します
-l:list、計画タスクのリストを示す
[root@zhaochj ~]# crontab -e
計画タスクの設定には、2つの要素が含まれます.1つは時間です.二つ目は命令です.つまり、いつどのような命令が実行されるかということです.
cronの構文フォーマット:5つの時間フィールド、1つの命令フィールド
タイムシェアリング日月週指令
時間の値範囲:
field allowed values
----- --------------
minute 0-59
hour 0-23
day of month 1-31
month 1-12 (or names, see below)
day of week 0-7 (0 or 7 is Sun, or use names)
この5つの時間フィールドでは、いくつかの特殊な記号を使用できます.
*:いつでも
,:時間分割を表します.たとえば「分」というフィールドの値が「1,15」であると、第1分、第15分の2つの時刻を表します.
-:時間を表します.「時」フィールドの値が「2-5」の場合、午前2時から午前5時までの時間範囲を表します.
/n:nは整数を表します.たとえば、「日」というフィールドの値が「*/1」の場合、1日おきにコマンドを実行することを表します.
[root@zhaochj ~]# vim autoback.sh
#!/bin/sh
#
#author: Jack.zhao
#Date: 2013-11-29
#Email: [email protected]
#Description: This script backup file
DATE=$(/bin/date +%Y%m%d)
BASENAME=$(basename $1)
[ -d /backup ] || /bin/mkdir /backup
/bin/tar -czf /backup/$BASENAME.$DATE.tar.gz $1 1> /dev/null 2>> /backup/$BASENAME.error.log
if [ $? -eq 0 ]
then
echo "$1 $DATE backup successfully" >> /backup/$BASENAME.success.log
else
echo "ERROR:failure $1 $DATE backup!" >> /backup/$BASENAME.error.log
fi
[root@zhaochj ~]# chmod +x /root/autoback.sh
このスクリプトの使用方法:
[root@zhaochj ~]# ./autoback.sh /etc/fstabefsg
スクリプトの準備ができたら、計画タスクを設定します./homeディレクトリに自動バックアップを行いたい場合は、毎月の1日、15日の午前3時15分にバックアップを行う必要があります.
[root@zhaochj ~]# crontab -e
15 3 1,15 * * /root/autoback.sh /home