首页 > 代码库 > 使用函数封装-公司自动化处理文件备份管理脚本
使用函数封装-公司自动化处理文件备份管理脚本
#!/bin/bash
srcPath=""
dstPath=""
ErrMsg="Yout enter the directory or file dose not exist. "
DstDirMsg="Please input destination dircetory"
SrcFilesMsg="Please input source dircetory or file."
DstFilesMsg="Delete the file or dircetory. "
DirFileMsg=""
function inputSourcePath(){
while true
do
echo $DirFileMsg
read srcPath
if [ -d $srcPath -o -f $srcPath ]; then
if [ -e $srcPath ]; then
break
fi
fi
echo "$ErrMsg"
done
}
function inputDstPath(){
while true
do
echo $DstDirMsg
read dstPath
if [ -d $dstPath -a -e $dstPath ]; then
break
fi
echo "$ErrMsg"
done
}
function copy(){
while true
do
inputSourcePath
inputDstPath
if [ $srcPath != $dstPath -a -d $srcPath ]; then
break
elif [ -f $srcPath -a `dirname $srcPath` != $dstPath ]; then
break
fi
echo "The source and destination cannot be the same! Please input again"
done
cp -a $srcPath $dstPath
echo "The files have been susscessfully copied."
}
function delete(){
inputSourcePath
echo "Proceed with removal? y"
read yn
if [ $yn == "y" ]; then
rm -rf $srcPath
echo "sussessfully delete!"
fi
}
function backup(){
inputSourcePath
inputDstPath
backName=`date -d today +%Y%m%d%H%M%S`
cd $dstPath
tar -czvf "$backName.tar.gz" $srcPath
echo "A successful backup to $dstPath/$backName.tar.gz"
}
while true
do
echo "*******************************************"
echo " 1 Copy"
echo " 2 Delete"
echo " 3 Backup"
echo " 4 Quit "
echo "*******************************************"
read op
case $op in
1)
echo "You selection is Copy"
DirFileMsg=$SrcFilesMsg
copy
read -p "Press any key to continue..."
clear
;;
2)
echo "You selection is delete"
DirFileMsg=$DstFilesMsg
delete
read -p "Press any key to continue..."
clear
;;
3)
echo "You selection is Back"
DirFileMsg=$SrcFilesMsg
backup
read -p "Press any key to continue..."
clear
;;
4)
echo "Exit..."
break
;;
*)
echo "Error! invalide selection, try again"
;;
esac
done
本文出自 “xinsz08の平行时空” 博客,请务必保留此出处http://xinsz08.blog.51cto.com/10565212/1915939
使用函数封装-公司自动化处理文件备份管理脚本