/home/etc를 /etc로 복원

/home/etc를 /etc로 복원

백업 파일을 에서 로 복사해야 하므로 /mnt/backup/etc이것이 /etc 제가 cp/mnt/backup/etc*고려 중인 명령입니다.

그러나 경험에 따르면 이것은 cp/mnt/backup/etc*파일 시스템에 파괴적인 명령이 될 수 있습니다. 저장소의 파일에는 CentOS7 버전을 새로 설치할 때 없지만 존재하거나 /mnt/backup/etc*알 수 없는 차이점이 있을 수 있기 때문입니다.

두 디렉터리의 파일을 비교하고 파일에 차이가 있으면 출력하는 명령을 생각하고 있습니다. 여기에서 /mnt/backup/etc복구하지 않을 파일(있는 경우)을 결정할 수 있습니다 .

한동안 이 일을 하지 않아서 무엇을 해야 할지 잘 모르겠습니다. wc파일 간의 차이점을 출력하기 위해 명령을 사용하는 것 같지만 두 파일 간의 차이점을 비교하는 방법을 잘 모르겠습니다.

답변1

미리 비교할 수 있는 몇 가지 옵션이 있습니다.

  • rsync

    rsync이 플래그를 사용하여 실행하면 -n먼저 "테스트 실행"이 수행되어 필요한 경우 수동으로 조정할 수 있도록 복사할 파일을 확인할 수 있습니다.

    rsync -nvahHSEi /mnt/backup/etc/* /etc
    

    시범적으로 실행될 것이며 더 많은 정보도 출력될 것입니다.특정 파일을 복사해야 합니다(수정된 크기/날짜가 다름...). 차이가 충분히 작으면 n실제 "복원" 작업을 완전히 자동화하지 않고도 명령을 다시 실행할 수 있습니다.

  • diff

    diff두 개의 파일로 실행하는 대신 두 개의 파일로 실행할 수 있습니다.목차인수로 어떤 파일이 다른지, 해당 내용이 다른지(적어도 텍스트 파일의 경우), 두 경로 중 하나에만 존재하는 파일이 표시됩니다. -r하위 디렉터리로 재귀적으로 내려가려면 옵션과 함께 사용하세요 . @Olivier Dulac이 지적했듯이 먼저 diff -q디렉토리에서 실행하여 다른 파일 목록을 표시할 수 있습니다(실제 차이점은 없음).

  • meld

    이는 두 디렉터리 간의 차이점을 확인할 수 있는 GUI 기반 비교 도구입니다.

관련 정보