二、生产环境的删除操作

摘要:

刚入职赶上了研发整理线上代码,需要将线上的无用的代码进行删除。作为运维菜鸟的我想的非常简单,直接rm就好啦,如果真的这样做的话可能当天就要走人啦~\(≧▽≦)/~。和老大请教一番后,总结以下几点需要注意的地方:

1、生产环境中web站点可能会存在多个,比如pc访问的站点和app访问的站点,是两个完全不同的站点,自然Root目录也就不同,删除时需要注意是哪个站点的哪些文件。站点Root路径需要从Nginx的配置中获取

root  /www/site/node1;

2、所有的删除操作都不能直接彻底删除,需要先做好备份,以便出错后快速恢复线上环境使用。那么在备份的时候,也需要将目标文件所有的父目录和属性都进行备份操作,这样才能快速的定位被删除的文件位置。cp命令在使用parents选项时可以复制文件所有路径信息到指定目录下,在执行一次rm即可。

cp –parents -a

线上脚本:

不同站点修改对应的根目录,准备删除文件的相对路径写入/root/del_file.txt,如果使用绝对路径,删除根路径的定义和调用即可。

#!/bin/bash

today=`date +%Y%m%d`

mkdir -p /tmp/backup_$today

#对应站点根目录

ppath=”/www/site/note1″

dpath=”/tmp/backup_$today/”

#站点根目录下对应文件列表(相对路径)

files=`cat /root/del_file.txt`

for i in $files

do

cp -a –parents $i $dpath

rm -rf  $i

done

    原文作者:armo要多读书
    原文地址: https://www.jianshu.com/p/ea280d9eff59
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞