设为首页 收藏本站
云服务器等爆品抢先购,低至4.2元/月
查看: 1458|回复: 0

[经验分享] Linux+shell管理员的好帮手--批量解压缩

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-9-26 10:07:08 | 显示全部楼层 |阅读模式
Linux+shell管理员的好帮手--批量解压缩
近期公司一直忙于OA的上线工作,做为一个管理员来说,需要给他们不定时提供数据备份及恢复操作,主要操作就是将生产环境中的变化数据还原到测试机器上进行测试。当然前几篇文中有也有介绍到使用shell脚本备份数据及还原数据,今天我们介绍使用shell脚本对指定目录下的数据进行压缩备份及解压覆盖操作,具体见下:
首先介绍第一个脚本:
该脚本会将/OAFS目录下的123、gavin文件夹进行压缩,然后移动到指定的目录下;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#!/bin/bash
sources="/OAFS/123 /OAFS/gavin"
target="/OAFS/BAK_DIR/"
function successfulllog() {
echo "$(date +%Y-%m-%d_%H:%M:%S) - Backup directory: $1 to $1.tar.gz and mv $target is successful" >>/var/log/tarbak.log
}
function faildlog() {
echo "$(date +%Y-%m-%d_%H:%M:%S) - Backup directory: $1 to $1.tar.gz and mv $target is Faild" >>/var/log/tarbak.log
}
for source in $sources
do
if [ -d "$source" ]; then
tar -zcPf "$source".tar.gz $source
mv $source.tar.gz $target
successfulllog $source
else
faildlog $source
fi
done



第二个脚本:我们需要将指定目录下的文件、文件夹进行独立压缩,然后移动到指定的目录下:
注:该脚本执行的时候,如果有文件的话,会将文件格式进行重新命名压缩文件命名:不会出现a.txt.tar.gz类似的格式
1
2
3
4
5
6
7
8
9
#!/bin/bash
sources=/OAFS/ABC/DATA
target=/OAFS/BAK_DIR
cd $sources
for source in `ls`;do
[ -f "$source" ]&& a=${source%%.*}||a=$source
tar cvzfp $a.tar.gz $source
mv $a.tar.gz $target
done




第三个脚本:批量执行指定目录指定文件的解压缩到指定目录;
该脚本会将/OAFS/abc目录下的压缩文件,进行解压,然后执行解压的文件会在tar命令下标记。
1
2
3
4
5
6
7
8
#!/bin/bash
sources="/OAFS/abc/"
target="/OAFS/"
echo ":${sources}:"
cd $sources
pwd
tar -zxvf zhangsan.tar.gz -C $target
tar -zxvf lisi.tar.gz -C $target



注:如果需要对指定目录下的所有压缩文件进行解压的话,我们只需要修改格式即可
tar -zxvf *.tar.gz

第四个脚本,批量执行文件删除,我们也是最笨的办法进行删除,因为指定目录下有多个文件,需要对指定的文件进行删除

1
2
3
4
5
6
7
8
#!/bin/bash
sources="/OAFS/abc/"
target="/OAFS/"
echo ":${sources}:"
cd $sources
pwd
rm -rf zhangsan
rm -rf lisi




第五:批量移动指定文件
批量移动文件
1
2
3
4
5
6
7
8
#!/bin/bash
sources="/OAFS/abc/"
target="/OAFS/"
echo ":${sources}:"
cd $sources
pwd
mv zhangsan.tra.gz $target
mv lisi.tar.gz $target



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-277592-1-1.html 上篇帖子: CentOS 6.5上部署drbd 下篇帖子: red hat 更换yum源 管理员 Linux
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表