147597 【grub还原】使用grub还原未恢复到出厂状态

This commit is contained in:
赵民勇 2022-11-16 14:00:35 +08:00
parent 7ee996d3c4
commit 4510c70e65
7 changed files with 19 additions and 0 deletions

View File

@ -263,6 +263,7 @@ QStringList CustomizeSystemRestoreProxy::getRsyncArgs(CustomizeSystemRestoreScen
args << "--exclude=/usr/share/rsync";
args << "--exclude=/usr/share/initramfs-tools/hooks/kybackup-hooks";
args << "--exclude=/usr/share/initramfs-tools/scripts/local-bottom/kybackup";
args << "--exclude=/data/security-dir";
for (const QString& item : excludes) {
args << QString("--exclude=") + item;

View File

@ -545,6 +545,7 @@ generateExcludeFile() {
echo "/swap_file" >>$EXCLUDEFILE
echo "/var/lib/docker/overlay2" >>$EXCLUDEFILE
echo "/var/log" >>$EXCLUDEFILE
echo "/data/security-dir" >>$EXCLUDEFILE
#bind挂载的目录不进行备份或还原
cat ${rootpath}/etc/fstab | awk '{if($4~/bind/) print $1}' |

View File

@ -6,6 +6,7 @@
#backup-auto --autobackup ${rootpath} /backup
#backup-auto --autorestore ${rootpath} /backup
echo $*
#xgs备份还原要保留更多的文件或目录:
#kybackup/maindialog.cpp, backup-daemon/mountpoint.cpp, backup-daemon/data/backup-auto-efi
XGS=false
@ -566,6 +567,7 @@ generateExcludeFile() {
echo "/var/lib/docker/overlay2" >>$EXCLUDEFILE
echo "*/backup/snapshots" >>$EXCLUDEFILE
echo "/var/log" >>$EXCLUDEFILE
echo "/data/security-dir" >>$EXCLUDEFILE
#bind挂载的目录不进行备份或还原
if [ -z $fstab_path ]; then
@ -1075,6 +1077,7 @@ restoreAuto() { #还原
echo "Begin to restore other directories..." >>$PLOGFILE
#保留用户数据还原
if [[ x${m_isRetainUserData} = x"true" ]]; then
echo "保留用户数据还原" >> ${rootpath}/var/log/backup.log
# 用户数据目录或文件
if [ -e "${rootpath}/var/lib/biometric-auth" ]; then
excludes="${excludes} --exclude=/var/lib/biometric-auth"
@ -1135,6 +1138,7 @@ restoreAuto() { #还原
fi
excludes="${excludes} --exclude=/var/log"
excludes="${excludes} --exclude=*/backup/snapshots"
excludes="${excludes} --exclude=/data/security-dir"
#yi jian huan yuan
if [ ! -e "${restoreDir}/data/data" ]; then
#这两行要一致
@ -1188,6 +1192,8 @@ fi
mkdir -p ${rootpath}/var/log
echo "参数:" $* >> ${rootpath}/var/log/backup.log
echo "m_isRetainUserData=" $m_isRetainUserData >> ${rootpath}/var/log/backup.log
if [ $backupORrestore = "--autobackup" ]; then
mountBackup
mount >>$PLOGFILE

View File

@ -1,5 +1,6 @@
#!/bin/bash
echo $*
BACKUP_FLAG=backup
RESTORE_FLAG=restore
ROLLBACK_FLAG=rollback-backup

View File

@ -278,6 +278,7 @@ QStringList SystemRestoreProxy::getRsyncArgs(SystemRestoreScene scene)
args << "--exclude=/usr/share/rsync";
args << "--exclude=/usr/share/initramfs-tools/hooks/kybackup-hooks";
args << "--exclude=/usr/share/initramfs-tools/scripts/local-bottom/kybackup";
args << "--exclude=/data/security-dir";
// 以前的出厂备份和grub备份没有备份/data还原时需要判断/data是否存在如不存在需要屏蔽掉不然会将主机上的/data删除造成问题
// 此为兼容以前备份的老数据而改,等以后老的备份估计不存在了可已去掉

View File

@ -281,6 +281,7 @@ QStringList UDiskSystemRestoreProxy::getRsyncArgs(SystemRestoreScene scene)
args << "--exclude=/usr/share/rsync";
args << "--exclude=/usr/share/initramfs-tools/hooks/kybackup-hooks";
args << "--exclude=/usr/share/initramfs-tools/scripts/local-bottom/kybackup";
args << "--exclude=/data/security-dir";
// 以前的出厂备份和grub备份没有备份/data还原时需要判断/data是否存在如不存在需要屏蔽掉不然会将主机上的/data删除造成问题
// 此为兼容以前备份的老数据而改,等以后老的备份估计不存在了可已去掉

View File

@ -486,6 +486,10 @@ bool Utils::generateExcludePathsFile()
in << "/var/lib/udisks2" << END_LINE;
in << "/var/log" << END_LINE;
in << "*/backup/snapshots" << END_LINE;
// 跟wps的研发沟通了安全目录的使用场景主要是两个场景
// 1、在用户浏览信创加密文档时解密出来的临时明文文件会放在安全目录关闭文档后临时文件被删除。
// 2、用户离线授权的某个加密文档的解密私钥也会放在安全目录中。因此跟他讨论从安全角度来看最好不要备份还原这个目录。
in << "/data/security-dir" << END_LINE;
// 系统安装后有的会将/data/home /data/root挂载到的/home /root上实际文件是存放在/data/home /data/root下面为了统一标准保留/home /root排除/data/home /data/root
QStringList excludes;
@ -543,6 +547,10 @@ QStringList Utils::getFromExcludePathsFile()
list << "/var/lib/udisks2";
list << "/var/log";
list << "*/backup/snapshots";
// 跟wps的研发沟通了安全目录的使用场景主要是两个场景
// 1、在用户浏览信创加密文档时解密出来的临时明文文件会放在安全目录关闭文档后临时文件被删除。
// 2、用户离线授权的某个加密文档的解密私钥也会放在安全目录中。因此跟他讨论从安全角度来看最好不要备份还原这个目录。
list << "/data/security-dir";
// 系统安装后有的会将/data/home /data/root挂载到的/home /root上实际文件是存放在/data/home /data/root下面
QStringList excludes;