Shell备份删除脚本

作者: admin 分类: Linux,Shell脚本 发布时间: 2018-01-24 13:48 浏览:514 次    

 

[root@test data]# vim back_del.sh
#############################################################
 # File Name: back_del.sh
 # Author: 寻音
 # E-mail: lnhxzwb@126.com
 # Created Time: Wed 24 Jan 2018 09:22:13 AM CST
 #=============================================================
 #!/bin/bash
 cat <<EOF
 ========================<操作提示>========================
 <1> Backup 备份文件或目录
 <2> Delete 删除文件或目录
 <3> Quit 退出程序
 ==========================================================
 EOF
 while :
 do
 read  -p "请选择操作方式:" CS
 case $CS in
 1|backup)
 read  -p "请输入备份文件或目录路径:" path1
 ls $path1 &>/dev/null
 if [ $? -eq 0 ];then
 if [ -f "$path1" ];then
 echo "你将要备份的是一个文件:$(basename $path1)"
 read  -p "请输入备份文件的备份路径:" path2
 ls $path2 &>/dev/null
 if [ $? -eq 0 ];then
 read -t 30 -p "请输入备份文件名:" fname
 cd $path2
 tar zcf $fname.tar.gz $path1 &>/dev/null
 echo "恭喜你备份文件 $fname.tar.gz 已成功!"
 else
 echo "你输入的路径不存在,请输入正确路径"
 fi
 else
 echo "你将要备份的是一个目录: $path1"
 read -t 30 -p "请输入备份文件的备份路径:" path2
 ls $path1 &>/dev/null
 if [ $? -eq 0 ];then
 read -t 30 -p "请输入备份文件名:" fname
 cd $path2
 tar zcf $fname.tar.gz $path1 &>/dev/null
 echo "恭喜你备份 $fname.tar.gz 已成功!"
 else
 echo "你输入的路径不存在,请输入正确路径"
 fi
 fi
 else
 echo "你输入的路径不存在,请输入正确路径"
 fi
 ;;

2|delete)
 read -t 30 -p "请输入要删除的文件或目录路径:" path1
 ls $path1 &>/dev/null
 if [ $? -eq 0 ];then
 if [ -f "$path1" ];then
 echo "你将要删除的是文件:$(basename $path1)"
 read -p "警告文件删除后不可恢复,是否要继续[y/n]:" del
 if [ "$del" == "y" ];then
 rm -rf $path1
 echo "文件 $path1 已删除"
 fi
 else
 echo "你将要删除的是目录:$path1"
 read -t 30 -p "警告文件删除后不可恢复,是否要继续[y/n]:" del
 if [ "$del" == "y" ];then
 rm -rf $path1
 echo "文件 $path1 已删除"
 fi
 fi
 else
 echo "你输入的路径不存在,请输入正确路径"
 fi
 ;;

3|quit)
 read -t 30 -p "你确定要退出程序[y/n]:" q
 if [ "$q" == "y" ];then
 exit
 fi
 ;;

*)
 echo "你输入的参数有误:$(basename $0) 正确参数 1|backup|2|delete|3|quit ,请重新选择"

esac
 done

执行效果如下:

[root@test data]# sh backup.sh
========================<操作提示>========================
<1> Backup 备份文件或目录
<2> Delete 删除文件或目录
<3> Quit 退出程序
==========================================================
请选择操作方式:1
请输入备份文件或目录路径:/etc/passwd
你将要备份的是一个文件:passwd
请输入备份文件的备份路径:/data
请输入备份文件名:passwd
恭喜你备份文件 passwd.tar.gz 已成功!

 

 

 

 

 


温馨提示:如无特殊说明,本站文章均为作者原创,转载时请注明出处及相应链接!

发表评论