- 论坛徽章:
- 0
|
公司开发人员不断对现有线上系统做升级,升级前需要备份原有得应用程序,所以他们做更新都得我陪着(因为备份需要我来做),刚写了手工备份得脚本,这样开发人员自己就可以做备份了,呵呵,我解脱了。
不过大家在用得时候需要做一些修改。
#!/bin/sh
##########**********Define Envionment Variables**********##########
SCRIPTDIR="/home/iwgroup/backup/script"
BACKUPDIR="/home/iwgroup/backup/databak"
VASOSS="/opt/iwgroup/"
VASOSSLIB="/opt/iwgroup/testdir"
VASOSSCONF="/opt/iwgroup/dirtest"
##########**********define date Format**********###########
TODAYDATE="`date "+%Y%m%d%H"`"
TODAYDATEFULL="`date "+%Y-%m-%d_%H:%M:%S"`"
##########**********Print The Select Menu**********##########
echo
cat $SCRIPTDIR/word.txt | awk 'NR==1'
echo
echo -e "\t1: backup /opt/iwgroup/"
echo -e "\t2: backup /opt/iwgroup/testdir/"
echo -e "\t3: backup /opt/iwgroup/dirtest"
echo
echo -e " lease select one from 1 to 3,or input the path: \c"
read dirpath
case "$dirpath" in
1)
echo -e "now start backup directory $VASOSS,be sure of this diretory is you need backup [Y/y] or [N/n])\c"
read YORN
if [ "$YORN" = "Y" -o "$YORN" = "y" ]
then
echo "execute backup program ..."
cd $VASOSS
tar cvf Vasossone_vasoss_backup_$TODAYDATE.tar ./* > /dev/null 2>&1
gzip Vasossone_vasoss_backup_$TODAYDATE.tar
mv Vasossone_vasoss_backup_$TODAYDATE.tar.gz $BACKUPDIR
echo "already backup $VASOSS directory to $BACKUPDIR directory,backup file name is Vasossone_vasoss_backup_$TODAYDATE.tar.gz"
echo "at the $TODAYDATEFULL,you backup $VASOSS directory to $BACKUPDIR directory,backup file name is Vasossone_vasoss_backup_$TODAYDATE.tar.gz" >> $SCRIPTDIR/manual.log
else
echo "please you select again"
echo "at the $TODAYDATEFULL,you ever select 1,but you canceled this operate" >> $SCRIPTDIR/manual.log
fi
;;
2)
echo -e "now start backup directory $VASOSSLIB,be sure of this diretory is you need backup [Y/y] or [N/n])\c"
read YORN
if [ "$YORN" = "Y" -o "$YORN" = "y" ]
then
echo "execute backup program ..."
cd $VASOSSLIB
tar cvf Vasossone_vasoss_lib_backup_$TODAYDATE.tar ./* > /dev/null 2>&1
gzip Vasossone_vasoss_lib_backup_$TODAYDATE.tar
mv Vasossone_vasoss_lib_backup_$TODAYDATE.tar.gz $BACKUPDIR
echo "already backup $VASOSSLIB directory to $BACKUPDIR directory,backup file name is Vasossone_vasoss_lib_backup_$TODAYDATE.tar.gz"
echo "at the $TODAYDATEFULL,you backup $VASOSSLIB directory to $BACKUPDIR directory,backup file name is Vasossone_vasoss_lib_backup_$TODAYDATE.tar.gz" >> $SCRIPTDIR/manual.log
else
echo "please you select again"
echo "at the $TODAYDATEFULL,you ever select 2,but you canceled this operate" >> $SCRIPTDIR/manual.log
fi
;;
3)
echo -e "now start backup directory $VASOSSCONF,be sure of this diretory is you need backup [Y/y] or [N/n])\c"
read YORN
if [ "$YORN" = "Y" -o "$YORN" = "y" ]
then
echo "execute backup program ..."
cd $VASOSSCONF
tar cvf Vasossone_vasoss_conf_backup_$TODAYDATE.tar ./* > /dev/null 2>&1
gzip Vasossone_vasoss_conf_backup_$TODAYDATE.tar
mv Vasossone_vasoss_conf_backup_$TODAYDATE.tar.gz $BACKUPDIR
echo "already backup $VASOSSCONF directory to $BACKUPDIR directory,backup file name is Vasossone_vasoss_conf_backup_$TODAYDATE.tar.gz"
echo "at the $TODAYDATEFULL,you backup $VASOSSCONF directory to $BACKUPDIR directory,backup file name is Vasossone_vasoss_conf_backup_$TODAYDATE.tar.gz" >> $SCRIPTDIR/manual.log
else
echo "please you select again"
echo "at the $TODAYDATEFULL,you ever select 3,but you canceled this operate" >> $SCRIPTDIR/manual.log
fi
;;
*)
echo -e "You not select number,but you input a path,please you be sure of this diretory exist [Y/y] or [N/n])\c"
read YORN
echo -e "input the name of backup file,default Vasossone_other_backup_$TODAYDATE.tar,recommend use default:\c"
read bakname
if [ "$YORN" = "Y" -o "$YORN" = "y" ]
then
if [ -d $dirpath ]
then
if [ ! -z $bakname ]
then
echo "execute backup program ..."
cd $dirpath
tar cvf $bakname ./* > /dev/null 2>&1
gzip $bakname >> $SCRIPTDIR/manual.log 2>&1
mv $bakname.gz $BACKUPDIR
echo "already backup $dirpath directory to $BACKUPDIR directory,backup file name is $bakname.gz"
echo "at the $TODAYDATEFULL,you backup $dirpath directory to $BACKUPDIR directory,backup file name is $bakname.gz" >> $SCRIPTDIR/manual.log
else
echo "execute backup program ..."
cd $dirpath
tar cvf Vasossone_other_backup_$TODAYDATE.tar ./* > /dev/null 2>&1
gzip Vasossone_other_backup_$TODAYDATE.tar >> $SCRIPTDIR/manual.log 2>&1
mv Vasossone_other_backup_$TODAYDATE.tar.gz $BACKUPDIR
echo "already backup $dirpath directory to $BACKUPDIR directory,backup file name is Vasossone_other_backup_$TODAYDATE.tar.gz"
echo "at the $TODAYDATEFULL,you backup $dirpath directory to $BACKUPDIR directory,backup file name is Vasossone_other_backup_$TODAYDATE.tar.gz" >> $SCRIPTDIR/manual.log
fi
else
echo "you input path not exist,please check and input again"
echo "at the $TODAYDATEFULL,you input the path of you need backup,but this directory is not exist" >> $SCRIPTDIR/manual.log
fi
else
echo "please you select again"
echo "at the $TODAYDATEFULL,you input the path of you need backup,but this operate be canceled by you" >> $SCRIPTDIR/manual.log
fi
;;
esac
word.txt 文件得内容是:
您好,您所执行的这个程序是手工备份应用程序的SHELL脚本,请选择您要备份的目录,如果下列选项中没有您希望备份的目录,请手工输入:
您输入的路径不正确,请查证后再次输入
[ 本帖最后由 zdm 于 2006-7-24 16:32 编辑 ] |
评分
-
查看全部评分
|