任务:为远程升级系统或添加新功能提供便利。
我应该做什么创建目标机器当前环境的备份,如果升级在任何阶段失败,然后恢复到原始环境。
假设我的目录结构是这样的:
/home/user/project1/..bla bla
项目 1 包含符号链接、硬链接、软件和固件的可执行文件等。
我的困境
我应该使用策略 1 还是 2?
如果升级失败,我是否应该复制整个当前环境并恢复。
示例-> cp -p -r /home/user/project1/* /home/user/project1_backup/
如果升级失败 -->
mv /home/user/project1_backup/ /home/user/project1
如果升级失败,我应该压缩整个环境并解压缩它。要创建 tar 球,我对保留符号链接和硬链接 .. 以及解压缩它时相同。
有人可以提供具体的答案,我应该遵循哪种方法,如果我使用 tar 球方法,bash 命令将是什么。
据我所知 tar -cvfz
,创建 tar gunzip不会保留链接和权限,并且在解压缩 tar 球时同样如此。请放点光好吗?