添加到tar后删除文件
Posted
技术标签:
【中文标题】添加到tar后删除文件【英文标题】:Deleteing files after adding to tar 【发布时间】:2012-11-17 16:30:27 【问题描述】:目前我正在编写备份 mysql 数据的 bash 脚本,我遇到的唯一问题是 tar
的参数在 debian
上运行,但在 FreeBSD
上不起作用。
是的,我读过这个: Deleting files after adding to tar archive
答案是我一直在debian
上使用的解决方案——我的意思是--remove-files
参数。
在 FreeBSD 上执行以下命令:
tar --remove-files -jcPf $DIR/$Y/$M/$D/mysql-$HOUR.tar.bz2 *.sql
抛出以下错误:
tar: Option --remove-files is not supported
我还没有找到任何类似于 --remove-files
参数的东西。在阅读man tar
时,有什么解决办法?
【问题讨论】:
【参考方案1】:它必须是 tar 选项吗?很可能 --remove-files 是 gnu 扩展(或其他),因此您可能只需在 FreeBSD 上安装此“扩展”版本的 tar 并使用它。
如果您不能/不想这样做,我认为可以这样做:
tar -jvcPf $DIR/$Y/$M/$D/mysql-$HOUR.tar.bz2 *.sql | xargs rm
顺便说一句,我认为 '-' 可以(并且应该)从 tar 选项中省略...
【讨论】:
xargs rm
不起作用,它会留下文件而不删除它们。
尝试添加 -f 选项:... | xargs rm -f以上是关于添加到tar后删除文件的主要内容,如果未能解决你的问题,请参考以下文章