最近又有学员删文件时候不当心删除了,致使删除错误删除了文件,以前也有过误删数据库,误删根的。web
我也是在带出了这么多学员以后才发现,真的有人会误删,还没作讲师以前我觉得这只是个梗。数据库
解决误删除文件,咱们有不少措施,等你删除了在去恢复,这种就属于第三流的运维了,第二流的运维有备份,第一流的运维不但有备份还有防止误删除的机制。bash
今天咱们就来写一个脚本,先解决删除文件没有提示的问题,而后解决删除前备份的问题运维
[root@ecs-c13b test]# cat rm.sh #!/bin/bash NAME=$1 now=`date +%Y%m%d%H%M` read -p "你肯定要删除当前的文件或者文件夹吗 yes|no:" inpt read -p "请在肯定一次 是否删除文件或者文件夹 yes|no:" input if [ $input == "yes" ] ||[ $input == "y" ];then mkdir -p /data/.$now #### 判断rsync是否已经安装 RSYNC=`rpm -qa rsync |wc -l` if [ $RSYNC -ne 0 ];then echo "如今开始备份数据" else #### 若是没有rsync就先安装rsync并启动 yum install xinetd rsync -y useradd -s /sbin/nologin -M rsync mkdir -p /data chown -R rsync.rsync /data/ echo "rsync_backup:123456" >/etc/rsync.password chmod 600 /etc/rsync.password fi rsync --daemon #### 判断要删除的文件是否存在 if [ -f $1 ] || [ -d $1 ];then ### 若是要删除的文件存在则开始备份 rsync -aR $1 /data/.$now/$1/ echo "数据备份成功" else echo "文件不存在,请从新确认文件名字" exit 1 fi echo "开始删除数据" /bin/rm -rf $1 echo "文件删除成功,若须要恢复请到 /data/.$now/路径下恢复" elif [ $input == "no" ] ||[ $input == "n" ] then exit 0 else echo "请输入yes|no" exit fi
在学习中,能够把全部你能想到的都写成脚原本不断练习,任何技术的学习都是在不断模仿,不断写的过程当中,变大变强的。svg