제가 변경한 PHP 파일을 동료가 덮어썼는데, 명령줄을 사용하여 파일을 이전 작업 버전으로 롤백할 수 있습니까? 사용 가능한 svn 저장소도 없고 백업도 없습니다.
답변1
유감스럽게도 백업을 수행하지 않은 경우 특히 명령줄에서 거의 확실히 SOL 상태입니다.
파일을 연결 해제(삭제)하면 특정 inode를 다른 어떤 것도 얻지 못하는 한 데이터를 복구할 수 있습니다. 파일을 편집하면 데이터가 덮어쓰여집니다.
동료가 사용 중인 편집기를 아직 열어두고 실행 취소 버퍼가 충분히 길다면,가능한예전의 방식으로 돌아가는 방법인데, 그 이상으로 가면 가라앉을까봐 두렵습니다. 죄송합니다.
답변2
ext3을 사용한다고 가정하면, 교체 파일이 (기존 파일을 덮어쓰지 않고) 다른 inode로 생성된 경우 debugfs
마운트 해제된 파일 시스템을 사용하고 원본 파일의 inode를 찾아 복구할 수 있습니다. 안타깝게도 동료가 파일을 옆으로 옮겨 삭제하는 대신 파일을 덮어쓰면 파일이 사라집니다. 나는 debugfs
사용하는 것이 좋습니다극도의 주의, 파일 시스템을 심각하게 망칠 수 있기 때문입니다. 그 목적은 최후의 수단일 뿐입니다.
답변3
일반적으로 .tmp 로 시작하는 tmp 파일을 생성합니다 ~filename.extension
. 이로부터 회복할 수 있습니다.