diff --git a/backup-daemon/systemrestoreproxy.cpp b/backup-daemon/systemrestoreproxy.cpp index 850e541..650dd31 100755 --- a/backup-daemon/systemrestoreproxy.cpp +++ b/backup-daemon/systemrestoreproxy.cpp @@ -394,8 +394,12 @@ void SystemRestoreProxy::restoreSystem() QStringList SystemRestoreProxy::getBackupPointUsers() { // 根据备份点里的/home或/data/home的子目录进行统计 - QStringList users = getBackupPointUsers(m_backupPath + "/home"); - users.append(getBackupPointUsers(m_backupPath + "/data/home")); + QString homePath = m_backupPath + "/home"; + homePath.replace("//","/"); + QStringList users = getBackupPointUsers(homePath); + QString dataHomePath = m_backupPath + "/data/home"; + dataHomePath.replace("//","/"); + users.append(getBackupPointUsers(dataHomePath)); return users; } @@ -416,9 +420,12 @@ QStringList SystemRestoreProxy::getBackupPointUsers(const QString& path) */ void SystemRestoreProxy::removeHome(const QString& path) { + qDebug() << "SystemRestoreProxy::removeHome invoke begin"; + QDir dir(path); if (dir.exists()) { - QStringList retainUsers = getBackupPointUsers(m_backupPath + path); + QStringList retainUsers = getBackupPointUsers(); + qDebug() << retainUsers; bool needRm = false; QString subcmd("rm -rf "); @@ -426,6 +433,8 @@ void SystemRestoreProxy::removeHome(const QString& path) QStringList list = dir.entryList(QDir::NoDotAndDotDot | QDir::Dirs); for (const QString& item : list) { // 出厂备份里面的/home/oem等保留 + if (item == "oem") + continue ; if (retainUsers.contains(item)) continue ; @@ -450,4 +459,6 @@ void SystemRestoreProxy::removeHome(const QString& path) QProcess::execute(cmd); } } + + qDebug() << "SystemRestoreProxy::removeHome invoke end"; }