圆月山庄资源网 Design By www.vgjia.com
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
复制代码 代码如下:
#!/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
标签:
备份,shell脚本
圆月山庄资源网 Design By www.vgjia.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
圆月山庄资源网 Design By www.vgjia.com
暂无评论...
更新日志
2024年11月13日
2024年11月13日
- 刘欢《雨中的树(新歌加精选)2CD》德国HD24K金碟[WAV+CUE]
- 郑源 《世间情歌》6N纯银SQCD[WAV+CUE][1G]
- 群星《粤潮2HQII》头版限量编号[低速原抓WAV+CUE][991M]
- 群星《2023好听新歌21》十倍音质 U盘音乐[WAV分轨][1G]
- 《热血传奇》双11感恩回馈 超值狂欢30天
- 原神5.2版本活动汇总 5.2版本活动有哪些
- 张敬轩.2010-NO.ELEVEN【环球】【WAV+CUE】
- 黄丽玲.2006-失恋无罪【艾回】【WAV+CUE】
- 阿达娃.2024-Laluna【W8VES】【FLAC分轨】
- 宝可梦大集结段位等级划分表大全 大集结段位一览
- 龙腾世纪影障守护者工坊与装备如何升级 工坊与装备升级说明
- 龙腾世纪影障守护者全成就攻略分享 龙腾世纪4全成就列表一览
- 《剑星》更新四套全新战衣!
- 卡普空老将伊津野英昭宣布入职腾讯光子 开发3A动作
- 38岁梅根·福克斯官宣怀孕:将迎来第四个孩子