亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > Linux Shell > 正文

備份shell腳本實例代碼

2020-07-27 19:24:58
字體:
來源:轉載
供稿:網友
1、backup_run.sh
復制代碼 代碼如下:

    #!/bin/sh
    # backup_run
    # script to run the backups
    # loads in a setting file for the user to change
    SOURCE=/home/bob/backup.defaults
    check_source()
    {
        # check_source
        # can we load the file
        # backup.defaults is the source file containing config/functions
        # make sure your path includes this directory you are runing from
        if [ -r $SOURCE ];then
          . $SOURCE # load $source
        else
            echo "`basename $0`: cannot locate default file"
            exit 1
        fi
    }
    header()
    {
        # header
        USER=`whoami`
        MYDATE=`date +%A" "%e" of "%B-%Y`
        clear
        cat << HH
        User: $USER $MYDATE
                    NETWORK SYSTEM BACKUP
                    =====================
    HH
    }
    change_settings()
    {
        # change_settings
        # let the user see the default settings..
        header
        echo "Valid Entries Are..."
        echo "Tape Device: rmt0,rmt1,rmt3"
        echo "Mail Admin:yes,no"
        echo "Backup Type: full,normal,sybase "
        while :
        do
            echo -n -c "/n/n Tape Device To Be Used For This Backup [$_DEVICE] :"
            read T_DEVICE
            : ${T_DEVICE:=$_DEVICE}
            case $T_DEVICE in
                rmt0|rmt1|rmt3) break

                *) echo "The device are either...rmt0,rmt1,rmt3"

            esac
        done
        # if the user hits return on any of the fields, the default value will be used
        while :
        do
            echo -n "Mail Admin When Done [$_INFORM] : "
            read T_INFORM
            : ${T_INFORM:=$_INFORM}
            case $T_INFORM in
                yes|Yes) break

                no|No) break

                *) echo "The choices are yes,no"

            esac
        done
        while :
        do
            echo -n "Backup Type [$_TYPE] :"
            read T_TYPE
            : ${T_TYPE:=$_TYPE}
            case $T_TYPE in
                Full|full) break

                Normal|normal) break

                Sybase|sybase) break

                *) echo "The choices are either ... full,normal,sybase"
            esac
        done
        # re-assign the temp varialbes back to original variables that
        # were loaded in
        _DEVICE=$T_DEVICE;_INFORM=$T_INFORM;_TYPE=$T_TYPE
    }
    show_settings()
    {
        # display current settings
        cat << HH
                    Default Settings Are...
                Tape Device To Be Used : $_DEVICE
                Mail Admin When Done : $_INFORM
                Type Of Backup : $_TYPE
                Log File Of Backup : $_LOGFILE
    HH
    }
    get_code()
    {
        # users get 3 attempts at entering the correct code
        # _CODE is loaded in from the source file
        clear
        header
        _COUNTER=0
        echo "YOU MUST ENTER THE CORRECT CODE TO BE ABLE TO CHANGE DEFAULT SETTINGS"
        while :
        do
            _COUNTER=`expr $_COUNTER + 1`
            echo -n "Enter the code to change the settings: "
            read T_CODE
            # echo $_COUNTER
            if [ "$T_CODE" = "$_CODE" ];then
                return 0
            else
                if [ "$_COUNTER" -gt 3 ];then
                    echo "Sorry incorrect code entered, you cannot change the settings..."
                    return 1
                fi
            fi
        done
    }
    check_drive()
    {
        # make sure we can rewind the tape
        mt -f /dev/$_DEVICE rewind > /dev/null 2>&1
        if [ $? -ne 0 ];then
            return 1
        else
            return 0
        fi
    }
    #====================== main =======================
    # can we source the file
    check_source
    header
    # display the loaded in variables
    show_settings
    # ask user if he/she wants to change any settings
    if continue_prompt "Do you wish To Change Some of The System Defaults" "Y";
    then
        echo $?   
        # yes then enter code name
        if get_code;then
            # change some settings
            change_settings
        fi
    fi
    #------------------ got settings... now do backup
    if check_drive;then
        echo "tape OK..."
    else
        echo "Cannot rewind the tape..Is it in the tape drive???"
        echo "check it out"
        exit 1
    fi
    # file system paths to backup
    case $_TYPE in
        Full|full)
            BACKUP_PATH="sybase syb/suppor etc var bin apps usr/local"

        Normal|normal)
            BACKUP_PATH="etc var bin apps usr/local"

        Sybase|sybase)
            BACKUP_PATH="sybase syb/suppor"

    esac
    # now for backup
    cd /
    echo "Now starting backup......"
    find $BACKUP_PATH -print | cpio -ovB -O /dev/$_DEVICE >> $_LOGFILE 2>&1
    # if the above cpio does not work on your system try cpio below, instead
    # find $BACKUP_PATH -print | cpio -ovB > /dev/$_DEVICE >> $_LOGFILE 2>&1
    # to get more information on the tape change -ovB to -ovcC66536
    if [ "$_INFORM" = "yes" ];then
        echo "Backup finished check the log file" | mail admin
    fi

2、backup.defaults
復制代碼 代碼如下:

    #!/bin/sh
    # backup.defaults
    # configuration default file for network backups
    # edit this file at your own
    # name backup.defaults
    # --------------------------------------------
    # not necessary for the environments to be in quotes.. but
    _CODE="comet"
    _LOGFILE="/appdva/backup/log.`date +%y%m%d`"
    _DEVICE="rmt0"
    _INFORM="yes"
    _TYPE="Full"
    #---------------------------------------------
    continue_prompt()
    {
        # continue_prompt
        # to call: continue_prompt "string to display" default_answer
        _STR=$1
        _DEFAULT=$2
        # check we have the right params
        if [ $# -lt 1 ];then
            echo "continue_prompt: I need a string to display"
            return 1
        fi
        while :
        do
            echo -n "$_STR [Y..N] [$_DEFAULT]:"
            read _ANS
            if [ "$_ANS" = "" ];then
                : ${_ANS:=$_DEFAULT}
                case $_ANS in
                    Y) return 0

                    N) return 1

                esac
            fi
            # user has selected something
            case $_ANS in
                y|Y|Yes|YES)
                    return 0

                n|N|No|NO)
                    return 1

                *) echo "Answer either Y or N, default is $_DEFAULT"

            esac
            echo $_ANS
        done
    }

3、運行:
復制代碼 代碼如下:

$./backup_run.sh backup.defaults
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久精品国产久精国产思思| 亚洲精品美女网站| 日本成人激情视频| 欧美黑人xxxⅹ高潮交| 亚洲国产成人一区| 亚洲美女福利视频网站| 日韩性生活视频| 国产精品日韩欧美综合| 欧美一级成年大片在线观看| 亚洲欧洲黄色网| 黄色成人在线免费| 欧美日韩国产一区二区| 精品国产区一区二区三区在线观看| 97香蕉久久超级碰碰高清版| 亚洲精品在线不卡| 国产综合久久久久久| 91免费人成网站在线观看18| 日韩欧美在线第一页| 亚洲欧美国内爽妇网| 国产精品日韩av| 91精品国产色综合久久不卡98口| 久久99青青精品免费观看| 欧美性猛交xxxx久久久| 中文字幕一区二区三区电影| 国产成人亚洲综合91精品| 日韩欧美亚洲一二三区| 国产精品第七影院| 理论片在线不卡免费观看| 午夜美女久久久久爽久久| 日韩二区三区在线| 成人av在线网址| 亚洲精品美女在线观看播放| 久久国产精品偷| 久久亚洲春色中文字幕| 国产精品旅馆在线| 欧美又大又粗又长| 久久91精品国产91久久跳| 亚洲免费视频观看| 欧美人交a欧美精品| 亚洲美女性视频| 一夜七次郎国产精品亚洲| 最新日韩中文字幕| 亚洲最大福利视频| 欧美性极品xxxx做受| 欧美精品日韩三级| 91爱爱小视频k| 亚洲美女av电影| 久久夜色撩人精品| 久久久国产一区二区| 久久精品视频99| 亚洲毛片在线观看| 欧美另类老肥妇| 国产一区二中文字幕在线看| 亚洲男人第一av网站| 色婷婷成人综合| 国产精品第一区| 91免费国产视频| 精品久久久中文| 欧美成人免费全部| 国产精品99一区| 亚洲人成欧美中文字幕| 欧美成人三级视频网站| 欧美国产乱视频| 欧洲亚洲妇女av| 国产在线观看精品一区二区三区| 亚洲一区二区久久久久久久| 久久久久国产一区二区三区| 久久久精品欧美| 国产在线观看不卡| 亚洲色图15p| 久久视频在线播放| 91精品国产综合久久香蕉最新版| 精品国内自产拍在线观看| 亚洲欧美日韩国产中文| 亚洲高清免费观看高清完整版| 亚洲专区在线视频| 欧美视频13p| 欧美精品久久久久久久免费观看| 亚洲图片在区色| 8x海外华人永久免费日韩内陆视频| 欧美另类精品xxxx孕妇| 97在线视频精品| 欧美中文字幕在线播放| 57pao国产精品一区| 欧美成人午夜激情视频| 亚洲国产精品va在看黑人| 日韩视频在线观看免费| 欧美激情久久久| 精品久久久久久久久久国产| 精品国产91久久久久久老师| 亚洲国产欧美精品| 日韩综合中文字幕| 精品国产欧美成人夜夜嗨| 久久久精品亚洲| 欧美激情xxxx性bbbb| 亚洲免费高清视频| 成人a在线视频| 国产精品777| 在线播放国产一区二区三区| 欧美在线视频播放| 51ⅴ精品国产91久久久久久| 久久久亚洲国产天美传媒修理工| 奇米4444一区二区三区| 精品国产一区二区三区久久| 成人免费视频97| 最近2019年手机中文字幕| 一本色道久久综合亚洲精品小说| 日韩欧美国产中文字幕| 国产婷婷97碰碰久久人人蜜臀| 亚洲天堂av图片| 国产精品爱久久久久久久| 亚洲免费一在线| 中文字幕精品视频| 亚洲欧洲自拍偷拍| 国内精品久久久久久影视8| 国产精品r级在线| 日韩在线观看免费全集电视剧网站| 国产精品久久91| 欧美成人午夜激情在线| 精品久久久久久国产| 91视频免费在线| 日韩精品在线观| 亚洲福利在线看| 91高清视频在线免费观看| 久久免费视频在线| 精品国产美女在线| 成人综合国产精品| 91在线观看免费高清完整版在线观看| 2019日本中文字幕| 粉嫩av一区二区三区免费野| 亚洲精品久久久久久久久久久久久| 精品久久久一区| 久久精品精品电影网| 日本欧美国产在线| 91香蕉嫩草神马影院在线观看| 亚洲精品xxxx| 中文字幕九色91在线| 在线视频欧美性高潮| 日韩欧美在线观看| 中国日韩欧美久久久久久久久| 国产欧美日韩免费看aⅴ视频| 成人精品久久一区二区三区| 国产欧美日韩精品丝袜高跟鞋| 国产美女高潮久久白浆| 国产精品尤物福利片在线观看| 精品国产福利在线| 久久久久久18| 国产精品盗摄久久久| 日本道色综合久久影院| 亚洲高清av在线| 欧美国产日本在线| 久久亚洲精品国产亚洲老地址| 欧美日韩美女在线| 国产欧美精品在线| 国产精品久久久999| 成人欧美一区二区三区在线| 久久久久久久一区二区三区| 精品国产1区2区| 插插插亚洲综合网| 亚洲成人免费在线视频| 一区二区在线视频| 国产精品一区二区女厕厕| 日本一区二区三区四区视频| 欧美精品中文字幕一区|