저는 Duplicati를 사용하여 내 (Ubuntu 20.04) 컴퓨터의 전체 온라인 백업을 설정하고 있습니다(도난, 화재 등의 경우 새 컴퓨터로 복원하기 위해). 현재 내 홈 디렉토리의 어느 부분을 포함할지 결정하고 있습니다 /home/drubbels/
. 가능한 한 많은 응용 프로그램 데이터를 제외하면서 대체할 수 없는 모든 개인 파일을 가져오려고 합니다(이것은 공간을 낭비할 뿐이며 Easy 소스에서 다시 다운로드하고 다시 설치하는 것보다 시간이 더 걸릴 것입니다). 백업에서 복원).
처음에는 모든 기본 폴더 파일을 제외하고 .
나머지 파일을 모두 포함해야 한다고 생각했지만 작동하지 않는 것으로 나타났습니다. 해당 Steam
폴더에는 모든 Steam 게임에 대한 게임 데이터가 포함되어 있으며(백업에 있어서는 안 됨) 해당 .minecraft
파일 폴더에는 싱글 플레이어 저장 게임(~해야 한다백업에 위치). 또한 일부 앱의 중요한 개인 설정이 홈 폴더 외부(in /etc/
, in /usr/
...) 에 완전히 존재하는지 모르겠습니다 . 이상적으로는 사용자 정의 Nautilus 북마크, 선택한 터미널 벨소리를 복원에 포함하고 싶습니다.
분명히 위에 언급된 Steam
및 게임 디렉터리 .minecraft
는 매우 구체적인 예이며 일반적인 경우에 대해 100% 정답을 제공할 수는 없지만, 광범위하게 말하면 완전한 Linux 설치 백업 내에 어떤 디렉터리가 있어야 하고, 어떤 디렉터리가 없어야 합니까?
답변1
이 질문에 대답하는 것은 불가능하다고 생각합니다. 응용 프로그램은 홈 디렉터리의 어느 위치에나 데이터를 저장할 수 있으므로 어떤 데이터가 중요하고 어떤 데이터가 중요하지 않은지 구별하기 어렵습니다. 나는 모든 것을 백업한다고 말하고 싶습니다. 생략할 수 있는 유일한 폴더는 IMHO .cache
이며 .Apps는 해당 데이터를 위치해야 하는 GNOME 설정 (KDE가 있음 ) 에 .local/share/Trash
저장해야 하지만 Firefox는 를 사용합니다 . Wine을 사용하면 모든 데이터가 에 저장되고 flatpak 응용 프로그램은 에 저장됩니다. 등..local
.gnome
.kde
.mozilla
.wine
.var
일부 앱의 중요한 개인 설정이 완전히 홈 폴더 외부에 있는지는 모르겠습니다(
/etc/
.../usr/
)
"일반" 사용자로 실행하는 애플리케이션은 집 외부에서 작성할 수 없으므로 시스템 구성을 포함하는 /etc
에 데이터를 저장할 수 없습니다./etc
답변2
백업에 대한 제가 제안하는 것은 기본적으로 모든 것을 포함시킨 다음 백업할 필요가 없는 부분을 제거하는 제외 목록을 사용하여 필요에 따라 부분을 잘라내는 것입니다. 중요하지 않은 작은 파일이 많이 있지만 일반적으로 파일을 제외하는 데 어려움을 겪을 만큼 크기가 너무 작습니다. GUI를 선호한다면 du
명령줄이나 GNOME Disk Usage Analyser와 같은 프로그램을 사용할 수 있습니다. 제가 추천하는 버전은 du
다음과 같습니다.
du -xhad1 | sort -h
현재 폴더의 모든 하위 폴더가 사람이 읽을 수 있는 크기별로 정렬되어 표시됩니다. 안전하게 삭제할 수 있다는 것을 알 수 있습니다 . 또한 용량이 상당히 커질 수 있으므로 제외 목록에 ~/.cache/
포함하는 것을 선호 하지만 나중에 모든 것을 다시 다운로드할 수 있습니다. ~/Downloads/
물론 가장 큰 폴더를 찾아 그 폴더에서 명령을 실행하면 더 깊이 파고들 수 있습니다. 예를 들어 ~/.local/share/baloo
검색 색인이 포함된 22GB 폴더라는 것을 알았습니다 . Baloo는 데스크탑에서 컨텐츠를 검색하고 찾기 위한 KDE 파일 색인 소프트웨어입니다. 나중에 홈 폴더의 전체 복구를 수행해야 하는 경우 이를 안전하게 제외하고 다시 색인화할 수 있어야 합니다. 또한 많은 변경이 수행될 수 있으며, 각 변경으로 인해 인덱스 파일이 복제되어 백업을 위한 디스크 공간이 빠르게 소모될 수 있습니다.
이 시점에서 반복 간의 백업을 비교하고 각 반복의 변경으로 인해 계속 백업되는 대용량 파일/폴더가 있는지 확인할 수도 있습니다. Baloo는 모든 콘텐츠를 단일 파일에 저장하며 다른 많은 예가 있을 수 있습니다.
제가 가장 좋아하는 백업 도구는 Dirvish 및 rsnapshot과 같은 도구입니다. 이 도구는 투명한 디렉터리 트리에 이미지당 하나씩 파일을 저장하고 하드 링크를 사용하여 변경되지 않은 파일을 공유합니다. 이러한 이미지를 사용하면 일반 파일처럼 액세스할 수 있지만 자체 폴더에 저장된 각 이미지는 파일이 변경되지 않고 하드 링크를 통해 다른 이미지 간에 효과적으로 공유됩니다. 이렇게 하면 du
두 명령 사이에 비슷한 명령을 사용할 수 있으며 처음 볼 때만 파일 크기를 계산합니다. 예를 들어:
du -shc 2*
127G 20230706
3.7G 20231005
3.6G 20240105
이를 보면 2023-07-06에 백업한 기본 이미지가 127GB의 저장 공간을 차지했는데, 몇 달이 지나자 3.7GB의 저장 공간만 남았다는 것을 알 수 있습니다.새로운전체 백업이 100GB를 넘어야 한다는 것을 알고 있음에도 불구하고. 이는 du
하드 링크의 오버컴퓨팅을 방지하기 때문입니다. 두 번째 이미지를 직접 실행 하면 du
전체 크기와 이전에 하드 링크된 파일이 표시됩니다.
# du -shc 20231005
127G 20231005
127G total
실제로 du
백업 디스크가 점진적으로 증가하는 것을 볼 수 있습니다. 특정 백업이 크게 증가한 경우 두 백업을 비교하여 해당 백업의 출처를 확인할 수 있습니다.