一、文件替换
软件版本更新时,替换某个配置文件,不知道配置文件是否一样,或是是否忘记替换,查看配置文件是否一样时,可以使用md5sum
对比哈希值。哈希值一样表明文件内容一致,否则不一致。接下来举个例子给大家看看:
二、防 rm -rf 误删除
在操作rm -rf
删除文件的时候,要小心“/”、data、etc
等配置文件等。尤其是删根(/)行为,如果你执行了rm -rf /*
操作,那就准备跑路吧。因此,在日常工作中应养成良好的操作习惯,因此我们可以建立回收站机制或使用 safe-rm
开源软件来代替 rm,以此来防止误操作带来的严重后果。
2.1 safe-rm
官方地址:http://freecode.com/projects/safe-rm,Ubuntu可以直接apt-get安装,CentOS要下载源码安装。
首先来认识一下safe-rm
这个使用软件,它是一个开源软件,用来替代不太安全的rm,我们可以在其配置文件/etc/safe-rm.conf
中配置路径黑名单,以此来定义哪些文件不能被 safe-rm
删除。
方法就是:将safe-rm更名为rm并放在$PATH
中比原rm程序靠前的位置,或者使用alias设置。一些脚本中使用完全路径/bin/rm则不会受此影响。
# rm -rf /etc/
#提示
safe-rm: skipping /etc/
2.2 回收站机制
其实这种方法并不是真正意义上的删除操作,它类似于我们Windows系统的回收站,简单说就是当我们执行rm操作时,其动作就是将文件移动到一个特定目录(回收站),为了尽量不要占用我们的磁盘空间,我们可以通过计划任务周期性的清理回收站的数据。
其原理很简单:就是写一个shell脚本来替换rm命令,而这个脚本实现的功能就是在执行rm删除文件时使用mv命令将文件移动到回收站。
(1)建立回收站
在/root/目录下新建一个 .trash 目录。
[root@web1 ~]# mkdir /root/.trash
(2)编写脚本文件
在/root/目录下新建一个 tools 目录,并在tools下新建 remove.sh 文件。
[root@web1 ~]# mkdir /root/tools
[root@web1 ~]# vim /root/tools/remove.sh
TRASH_DIR="/home/username/.trash"
for i in $*; do
STAMP=`date +%s`
fileName=`basename $i`
mv $i $TRASH_DIR/$fileName.$STAMP
done
(3)设置别名
作用就是我执行rm操作时,执行的是我的remove.sh脚本。
[root@web1 ~]# vim ~/.bashrc
alias rm="sh /home/username/tools/remove.sh" # 新增一行
[root@web1 ~]# source ~/.bashrc # 使环境变量生效
(4)计划任务清理回收站
[root@web1 ~]# crontab -e
0 0 * * * rm -rf /home/username/.trash/*
三、计划任务
正好上面提到了计划任务,在计划任务使用中也要特别注意也是最容易犯的错误的一点,就是要分清楚crontab -e
和 crontab -r
,如果你在公司中执行了crontab -r
,那你也准备跑路吧,因为这个计划任务的删除操作是不能找回数据的,谨记!!
四、数据库操作
操作my.cnf文件时,注意mysql,mariadb,sqlserver等数据库在启动数据库时,会读取my.cnf文件,当有重复项,或是类似操作时,会以最下面的为准来启动数据库,这是数据库的一种机制。
五、容器操作
run镜像的时候,做开机自启,开发一般会发dockr images
的时候会打上tag,如果没打tag,要注意inspact中地址,预防ip等配置项配成开发环境或者是测试环境。
好了,以上就是本次的一次简单分享,希望能对各位朋友有所帮助。