linux – 保存硬链接和符号链接,创建tar球时的权限,同时解压缩tarball

任务:提供远程升级系统或添加功能的工具.

我应该做什么创建目标机器当前环境的备份,如果在任何阶段升级失败,则恢复到原始环境.

说我的目录结构是这样的:

/home/user/project1/….bla bla

项目1包含符号链接,硬链接,软件和固件的可执行文件等.

我的困难

我应该使用策略1还是2?

>我是否应该复制整个当前环境并在升级失败时恢复.

example -> cp -p -r /home/user/project1/* /home/user/project1_backup/

if upgrading fails –>

mv /home/user/project1_backup/ /home/user/project1

>如果升级失败,我应该对整个环境进行压缩并解压缩它.为了创建tar球,我对保留符号链接和硬链接持怀疑态度……同时解读它.

有些人可以提供具体的答案,我应该遵循哪种方法,如果我采用焦油球方法,那将是什么bash命令.

据我所知tar -cvfz用于创建tar gunzip不会保留链接和权限,同样在解开tar球时也是如此.
请点亮一些?

解决方法

我会使用第二个选项:创建一个tarball;因为tarball有一些积极的一点:

>您可以跨文件系统保留权限/特殊文件(当您将ext *文件夹备份到NTFS文件系统时很有用)
>一个文件的副本将比一千个小文件
>你可以压缩它.

这是命令:

tar --preserve-permissions --preserve-order -jc /path/to/your/folder > /path/to/your/backup_file.tar.bz2

这将保留您的许可,您的符号链接.
对于硬链接,我给你这个链接(http://www.gnu.org/software/tar/manual/html_node/hard-links.html)

(但认情况下,tar保留硬链接)

升级系统之前别忘了测试你的tarball !!

(如果未正确创建存档,您将避免几乎所有数据丢失)

相关文章

Linux中的ARP防火墙主要用于防御ARP欺骗攻击,其效果取决于多...
insmod和modprobe加-f参数导致Invalid module format错误 这...
将ArchLinux安装到U盘 几个月前入门Arch的时候上网搜了不少安...
1、安装Apache。 1)执行如下命令,安装Apache服务及其扩展包...
一、先说一下用ansible批量采集机器信息的实现办法: 1、先把...
安装配置 1. 安装vsftpd 检查是否安装了vsftpd # rpm -qa | ...