zoukankan      html  css  js  c++  java
  • crontab 日志备份定时任务

    -l选项,查看当前用户的所有定时任务:

    [xiluhua@vm-xiluhua][/home]$ crontab -l
    * * * * * /home/xiluhua/shell_script/logbk.sh

    -e选项,创建或修改当前用户的定时任务:

    [xiluhua@vm-xiluhua][/home]$ crontab -e
    crontab: no changes made to crontab

    -u选项,查看(-l),修改(-e)指定用户的定时任务,(仅root管理员可用):

    [root@vm-xiluhua][/home]$ crontab -u xiluhua -l
    * * * * * /home/xiluhua/shell_script/logbk.sh

    -r选项,删除定时任务

    配置文件:

    [xiluhua@vm-xiluhua][~/shell_script]$ cat logbk.conf 
    logbk.sh 1 /home/xiluhua/auto log

    代码:

    [xiluhua@vm-xiluhua][~/shell_script]$ cat logbk.sh
    #!/bin/bash
    #author:xiluhua
    #since:20160619
     
    #####################################################################
    # $1: name of log*.sh to execute log-backuping
    # $2: size triggers log backuping
    # $3: directories need to log-backup 
    # $4: postfix with which log file will be backuped
    #####################################################################
     
    v_name=$0
    v_name=${v_name##*/}
    v_exce="exception@${v_name}"
    v_nohup="/home/xiluhua/shell_script/nohup_logbk.out"
    v_conf="/home/xiluhua/shell_script/logbk.conf"
    v_date=".$(date +%Y%m%d'_'%H%M%S)"
     
    declare -i v_isConfiged=1 #0true1false
    [ ! -s $v_conf ] && echo "exception@conf.error:please check if $v_conf is available!" >> $v_nohup && exit 1
     
    while read -r f1 f2 f3 f4
    do
            if [[ -n $f1 && $f1 == $v_name ]]
            then
                    [ -z "$f2" ] && echo "$v_exce@2:size triggers log backuping can not be null" >> $v_nohup && exit 1
            [ -z "$f3" ] && echo "$v_exce@3:directories need to log-backup can not be null" >> $v_nohup && exit 1
            [ -z "$f4" ] && echo "$v_exce@4:log postfix can not be null" >> $v_nohup && exit 1
            v_size=$f2
            v_dir=$f3
                    v_postfix=$f4
                    v_isConfiged=0
            break
            fi
    done<"$v_conf"
     
    [ $v_isConfiged == 1 ] && echo "$v_exce@1:not appropriate configed" >> $v_nohup && exit 1
     
    v_line=""
    for (( i=0;i<80;i++))
    do
            v_line=$v_line"="
    done
    echo $v_line >> $v_nohup
    echo "pid:"$$ >> $v_nohup
    echo "v_size:"$v_size"M" >> $v_nohup
    echo "v_dir:"$v_dir >> $v_nohup
    echo "v_postfix:"$v_postfix >> $v_nohup
    IFS=";"
    echo "=== dirs listening ===" >> $v_nohup
    for dir in $v_dir
    do
            echo "this.dir:"$dir >> $v_nohup
            for postfix in $v_postfix
            do 
                    echo "find $dir -size +${v_size}M -name '*.$postfix'" >> $v_nohup
     
                    #find $dir -size +${v_size}M -name "*.$postfix" -exec gzip {} ;
                    for file in $(find $dir -size +${v_size}M -name "*.$postfix")
                    do
                            echo "log files to be backuped:" >> $v_nohup
                            echo $file >> $v_nohup
                            gzip -c $file > ${file}${v_date}.gz && echo > $file
                    done
     
                    #find $dir -size +${v_size}M -name "*.$postfix" -exec gzip {} ; 
            done
    done
    exit 0
  • 相关阅读:
    C#代码也VB
    Flash/Flex学习笔记(9):ActionScript3.0与Javascript的相互调用
    原来Silverlight 4中是可以玩UDP的!
    Flash/Flex学习笔记(20):贝塞尔曲线
    Flash/Flex学习笔记(16):如何做自定义Loading加载其它swf
    AS3:让人叹为观止的Flash作品
    Flash/Flex学习笔记(10):FMS 3.5之Hello World!
    Flash/Flex学习笔记(12):FMS 3.5之如何做视频实时直播
    Flash/Flex学习笔记(28):动态文本的滚动控制
    Flash/Flex学习笔记(18):画线及三角函数的基本使用
  • 原文地址:https://www.cnblogs.com/xiluhua/p/5680775.html
Copyright © 2011-2022 走看看