답변:
이것은 실제로 시스템 복원 방법에 달려 있습니다. 다시 빌드하는 경우 서비스에 대한 구성 / 데이터 파일 만 필요합니다 (예 : / etc, / opt, / var, / home)
전체 시스템 복원 후 / proc, / boot & / dev를 생략 할 수 있습니다. 그런 다음 부트 미디어에서 최소 OS를 설치 한 다음 백업을 통해 시스템을 복원 할 수 있습니다.
물론 최상의 백업은 테스트 및 검증 된 백업입니다 .
따라서 필요하지 않은 것을 생략하고 VM에서 복원하고이 데이터를 사용하여 시스템을 복구 할 수 있는지 확인하십시오.
모두 /proc
와 /sys
시스템의 상태를 반영하고, 여러 런타임 매개 변수를 변경 (때로는 직접 메모리 또는 장치에 쓰기처럼, 더 위험한 일을) 할 수 있도록 가상 파일 시스템입니다. 절대 백업하거나 복원해서는 안됩니다.
대부분의 최신 배포판에서는 /dev
부팅시 동적으로 생성됩니다 (이는 메모리 파일 시스템 udev
과 친구로 채워짐 ). 백업 할 필요가 없으며 복원을 시도하는 것은 무의미합니다. 배포가 정적을 사용하도록 구성되어있는 경우에는 /dev
,이 (검사가 적용되지 않습니다 /proc/mounts
, 경우 /dev
A는 tmpfs
이 메모리 파일 시스템)입니다.
백업하지 말아야 할 다른 파일 시스템이 있습니다. usbfs
(보통에 /proc/bus/usb
모두에 장착 된 경우), debugfs
(에 있어야 /sys/kernel/debug
모두에 설치하는 경우, 그러나 어떤 사람들은 다른 곳에 넣어, 당신은 아마이없는), devpts
(에 장착 된 /dev/pts
다른) tmpfs
인스턴스 (종종에서 발견 /dev/shm
, /var/run
, /var/lock
, 기타 장소, 백업 및 복원은 시스템 종료시 내용이 손실되므로 무해하지만 무의미해야합니다. 원격 파일 시스템 또는 매직 자동 마운터 디렉토리 (백업 또는 복원을 시도하면 재해가 발생할 수 있음) 다른 머신으로 백업 / 복원합니다 . 또한주의해야 /media
하고/mnt
, 드라이브에 잊어 버린 CD와 같은 외부 장치를 찾을 수 있지만 백업해야 할 대상을 마운트하기 위해 의도적으로 사용했을 수도 있습니다.
대부분 무해 이외의 것을 참고 tmpfs
, 인스턴스, 네트워크 파일 시스템 /의 automounter 및 이동식 미디어는 백업의 모든 후손입니다 안되는 파일 시스템 /dev
, /proc
또는를 /sys
. 당신이 어떤 네트워크 파일 시스템 (또는의 automounter)없이 이동식 미디어는 제외없는 경우 /sys
와 /proc
및 재부팅 A는 (와이프 복원 후 tmpfs
인스턴스를) 충분합니다.
/ boot, / dev 및 / proc는 백업하는 데 쓸모가 없습니다.하지만 수행중인 작업을 알고 있으면 / boot를 백업 할 수 있습니다.
또한 / lib, / media, / mnt, / sbin, / bin, / srv, / sys 또는 / tmp를 백업하지 않습니다.
/ usr에 백업 할 가치가있는 항목이 있는지 여부에 따라 / usr은 선택 사항입니다. 내가 당신이라면 나는 사용자의 $ HOMEs, / var, / etc (구성 파일을 위해)를 백업하는 것에 대해 가장 걱정할 것이다.
다시 말하지만 이것은 실제로 백업하려는 유형 에 따라 다릅니다 . 이것은 웹 서버입니까? 이것은 개인용 컴퓨터입니까? / home 아래에 많은 디렉토리가있는 쉘 서버입니까?
rsync
하면 사용한 것만 복사 할뿐만 아니라 향후 동기화도 가능하게하므로 크론 작업을 안전하게 실행할 수 있습니다.
sfdisk 및 dd를 사용하여 전체 백업을 수행 할 수 있습니다.
각 하드 드라이브의 파티션 구성표를 백업하려면 다음과 같이 sfdisk를 사용하십시오.
sfdisk -d /dev/sda > parttable_sda.part
각 파티션을 백업하려면 다음과 같이 dd를 사용할 수 있습니다.
dd if=/dev/sda1 of=devsda1.img
어디는 /dev/sda1
이러한 라이브 CD 부팅과 마찬가지로 마운트 해제됩니다.
(이 파일을 쓰려면 충분한 여유 공간이 필요하다는 점을 명심하십시오. 따라서 외부 미디어에 파일을 쓰려고 할 수도 있습니다) 각 파티션에 대해 한 번에 하나씩 수행하고 모든 것을 백업하십시오.
그런 다음 다른 컴퓨터에서 복원하려면 다음을 수행하십시오.
sfdisk /dev/sda < parttable_sda.part
dd if=devsda1.img of=/dev/sda1 # do this for each partition
dd if=/dev/urandom of=/dev/sdb bs=512 count=12
대상 드라이브의 MBR 및 파티션 테이블을 지우는 것이 중요합니다 .
제외하지 않고 보통 내가 원하는 것을 백업합니다. 포함 : /home
/etc
/var
(제외 /var/log
)
이 위대한 공동체가 지적한 바와 같이 :
/ dev / proc / sys / tmp / run / media / lost + found / boot (/ boot는 선택 사항입니다. 다른 주석 참조)
내 최종 rsync 명령 ( '/ run / media / fred / INTENSO /'에 외부 미디어가 마운트되어 'fred'라는 폴더에 백업 된 아치 아래)은 다음과 같습니다.
$ sudo rsync -Pazhmxv --exclude / run / media --exclude / dev --exclude / lost + found --exclude / tmp --exclude / proc --exclude / boot --exclude / sys / / run / media / 프레드 / 인 텐소 / 프레드 /.
(제외 된 파일은 Bash 아래에 중괄호 (--exclude = {/ dev, / proc}) 또는 텍스트 파일 (--exclude-from = 'excude.txt')로 지정할 수도 있습니다).
-P : 진행률 표시 -a : 아카이브 모드 -z : 전송 중 압축 -h : 사람이 읽을 수있는 형식으로 출력 번호 -m : 비어있는 디렉토리 정리 -x : 하나의 파일 시스템으로 제한 -v : 상세
Ubuntu 18.04 시스템을 사용 중이며 다음을 제외했습니다.
/dev/
/proc/
/sys/
/tmp/
/run/
/mnt/
/media/
/lost+found/
/cdrom/
/swapfile
또한 구체적으로 설정을 위해 다음을 제외합니다.
/home <-- Backed up separately
/backup <-- Mount point for backup disks
/data <-- Mount point for data disks, which are backed up off-site
/scratch <-- Mount point for volatile fast SSD scratch disk
나는 일반적으로 시스템의 모든 것을 백업하는 습관 을냅니다. 심지어 내가 아는 것조차도 백업에 쓸모가 없습니다. 설정이 더 간단하고 백업에 포함해야하는 모든 것을 얻을 수 있다는 것을 100 % 확신 할 수 있습니다.
/proc
하고 /dev
그래서 가난한 조금 혼동하지 rsync
.
질문 : 서버를 백업 할 때 어떤 디렉토리를 제외해야합니까?
다음은 Ubuntu 16.04 LTS 랩톱에서 Ubuntu 16.04 LTS 서버에 이르기까지 자주 사용하는 스크립트입니다. 전체 백업을 수행하는 동안 건너 뛸 디렉토리를 명확하게 보여줍니다.
echo "EMPTYING TRASH"
rm -rf ~/.local/share/Trash/* >/dev/null 2>&1
echo "DELETING OLD LOGS"
sudo rm -f /var/tmp/* >/dev/null 2>&1
sudo rm -f /var/log/*.gz >/dev/null 2>&1
sudo rm -f /var/log/kern* >/dev/null 2>&1
sudo rm -f /var/log/messages* >/dev/null 2>&1
echo "DELETING CHROMIUM CACHE"
rm -rf /home/pi/.cache/chromium/Default/Cache/* >/dev/null 2>&1
echo "====================================================================="
echo " BEGINNING RSYNC from PAV root to PRIME5:/mnt/full/pav"
echo "====================================================================="
time sudo rsync -aAXv \
/ \
--bwlimit=500 \
--delete \
--delete-excluded \
--ignore-errors \
--exclude="/dev/*" \
--exclude="/proc/*" \
--exclude="/sys/*" \
--exclude="/tmp/*" \
--exclude="/run/*" \
--exclude="/mnt/*" \
--exclude="/media/*" \
--exclude="/lost+found" \
abc@prime5:/mnt/full/pav
echo "====================================================================="
df -h
의 배제 참고 /mnt
각 우분투 시스템 백업 드라이브가 크론 기반 마운트 풀 타임 가지고있는 곳입니다 - rsync
자동 백업 하루에 4 번을. 이 드라이브는 항목에 의해 마운트되며 fstab
항상 존재합니다. 다른 시스템에 백업에 포함시키는 것은 중복됩니다.
마찬가지로 /media
USB 드라이브가 마운트되는 곳입니다. 별도로 백업됩니다.
/boot
완전히 생략하지 마십시오 -이전 부팅 구성과 새 부팅 구성을 비교해야 할 수도 있습니다. 수동을 제외하고 는 복원 하지 마십시오/boot
.