首页 > 其他 > 详细

tar压缩目录下所有文件到单独的压缩包并删除源文件

时间:2021-09-02 01:27:16      阅读:17      评论:0      收藏:0      [点我收藏+]

想把服务器上的一大批文件下回本地,本以为tar压缩下就可以,结果发现……技术分享图片

这万恶的10g空间……直接压缩是不可能的了。

其次打算直接用ftp传,看到200k的速度也放弃了……

再不济用http-server?

技术分享图片

足足有3000多文件,等下载完手都废了……

发现到tar有一个--remove-files的选项 简直是为小空间服务器量身定做的,但当我带上参数再压缩时……空间又满了。。百度了下才知道这个选项是指全部压缩完后删除。那能不能单独压缩文件并删除呢?贴一个脚本:

点击查看代码

find . -type f|xargs -I {} tar zcvf {}.tar.gz {}

运行完压缩包就放在了文件在的目录。灵感突发其来,贴一段自己写的

num=0
find . -type f  > filelist.txt
for i in `cat filelist.txt`
do
tar czvf $num.tar.gz --remove-files $i
num=$(($num+1))
done

用screen挂在后台运行。运行效果:

技术分享图片

然后用ls | grep gz  > tarlist.txt获取列表,用迅雷下载回来,再贴一段批量解压的脚本:

for i in `cat tarlist.txt`
do
tar xzvf $i --remove-files
done

不知道该如何将压缩包的名字设置为原来的名字,求大佬赐教。。

 

tar压缩目录下所有文件到单独的压缩包并删除源文件

原文:https://www.cnblogs.com/tianpanyu/p/15209912.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!