首页 > 代码库 > Linux+shell管理员的好帮手--批量解压缩
Linux+shell管理员的好帮手--批量解压缩
Linux+shell管理员的好帮手--批量解压缩
近期公司一直忙于OA的上线工作,做为一个管理员来说,需要给他们不定时提供数据备份及恢复操作,主要操作就是将生产环境中的变化数据还原到测试机器上进行测试。当然前几篇文中有也有介绍到使用shell脚本备份数据及还原数据,今天我们介绍使用shell脚本对指定目录下的数据进行压缩备份及解压覆盖操作,具体见下:
首先介绍第一个脚本:
该脚本会将/OAFS目录下的123、gavin文件夹进行压缩,然后移动到指定的目录下;
#!/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类似的格式
#!/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命令下标记。
#!/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
第四个脚本,批量执行文件删除,我们也是最笨的办法进行删除,因为指定目录下有多个文件,需要对指定的文件进行删除
#!/bin/bash sources="/OAFS/abc/" target="/OAFS/" echo ":${sources}:" cd $sources pwd rm -rf zhangsan rm -rf lisi
第五:批量移动指定文件
批量移动文件
#!/bin/bash sources="/OAFS/abc/" target="/OAFS/" echo ":${sources}:" cd $sources pwd mv zhangsan.tra.gz $target mv lisi.tar.gz $target
本文出自 “高文龙” 博客,谢绝转载!
Linux+shell管理员的好帮手--批量解压缩
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。