Linux上的完全tar备份,不包括某些根文件夹
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Linux上的完全tar备份,不包括某些根文件夹,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1920字,纯文字阅读大概需要3分钟。
内容图文
我有一个问题似乎无法找到答案.
我正在尝试编写一个shell脚本来使用tar进行完整的系统备份.显然,有几个我不想备份的文件夹(/ dev,/ mnt,/ proc,/ tmp等).有很多文件夹我不想备份,所以我使用’exclude-from’标志来保持命令相对干净.
问题是,它不起作用.
这是我正在使用的tar标志:
--create
--file $BACKUP_FILE
--preserve-permissions
--same-owner
--numeric-owner
--listed-incremental $INCREMENTAL_FILE
--level=0
--xz
--directory /
--exclude-caches
--exclude-from $EXCLUDE_FILE
-v
这是我的排除文件:
/dev
/lost+found
/media
/mnt
/proc
/run
/sys
/tmp
/var/spool
/var/run
/var/tmp
当我运行我的脚本时,它仍然备份那些我不想备份的文件夹.切换到一堆’–exclude’标志似乎不起作用(我宁愿不使用它们).我已经尝试将’–exclude – 从$EXCLUDE_FILE’更改为’–exclude-from = $EXCLUDE-FILE’,我确保每行之后没有空格和其他一些东西(不记得它们)事情开始模糊起来了.
我一直在阅读焦油模式,所以看看是否有我遗失的东西,我还没有遇到任何东西.为了安全起见,我试着看看这是否与tar剥离前导斜杠有关但我还没有找到任何东西.
谷歌搜索我唯一发现的那种帮助就是一个人正在做同样的事情并通过从他的排除文件条目中删除前导’/’来解决它.我已经尝试了它并且它可以工作,但它排除了所有文件夹而不是根文件夹.我可能在我的家里有一个’media’文件夹,我想要备份那个文件夹而不是/ media文件夹,所以这不是一个合适的解决方案.
解决方法:
虽然ArchWiki包含有关如何执行full system backup with tar的说明,但您可能希望使用rsync. ArchWiki还描述了如何执行full system backup with rsync.以root身份运行:
rsync -aAXv --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} /* /path/to/backup/folder
-aAX选项集将确保使用“归档模式”.这可确保保留符号链接,设备,权限和所有权,修改时间,ACL和扩展属性.
请注意,rsync还可以读取文件中的排除模式,因此您的用例可能类似于:
rsync -aAXv --exclude-from=FILE /* /path/to/backup/folder
如果您打算在/ mnt或/ media以外的地方备份系统,请不要忘记将其添加到排除模式列表中以避免无限循环.此外,如果系统中存在任何绑定挂载,则也应将它们排除在外,以便仅将绑定挂载的内容复制一次.
内容总结
以上是互联网集市为您收集整理的Linux上的完全tar备份,不包括某些根文件夹全部内容,希望文章能够帮你解决Linux上的完全tar备份,不包括某些根文件夹所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。