首页
运维教程
Linux基础
系统服务
系统架构
数据库
shell脚本
虚拟化
大数据
DevOps
企业案例
运维开发
python
go语言
运维安全
行业资讯
网络基础
系统安全
运维面试
学习路线
学习方法
面试题库
职场解惑
软件
运维软件
办公软件
书籍资源
技术陪跑营
重要信息
首页 运维教程shell脚本【shell案例】一个脚本让你从此再也不怕删错文件

【shell案例】一个脚本让你从此再也不怕删错文件

前言

最近又有学员删文件时候不小心删除了,导致删除错误删除了文件,之前也有过误删数据库,误删根的。

我也是在带出了这么多学员之后才发现,真的有人会误删,还没做讲师之前我以为这只是个梗。

解决误删除文件,我们有很多措施,等你删除了在去恢复,这种就属于第三流的运维了,第二流的运维有备份,第一流的运维不但有备份还有防止误删除的机制。

今天我们就来写一个脚本,先解决删除文件没有提示的问题,然后解决删除前备份的问题

脚本源码

[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 [ -f1 ] || [ -d 1 ];then
     ### 如果要删除的文件存在则开始备份
    rsync -aR1 /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

总结

在学习中,可以把所有你能想到的都写成脚本来不断练习,任何技术的学习都是在不断模仿,不断写的过程中,变大变强的。

本文链接:http://www.geekyunwei.com/1139.html

网友评论comments

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

暂无评论

Copyright © 2021 极客运维 公众号《极客运维之家》
扫二维码
扫二维码
返回顶部