말 그대로다.
rsync 명령어로 복사, 백업 등 동기화를 할 때, 이게... 동기화가 안 되는 경우가 있다.
매우 당황하게 되는데,
인터넷 뒤져봐도 딱히 내용이 없다.
그러다가 우연히 해결하게 되어서 기록으로 남긴다.
1. rsync 도입
패키지 설치하고, rsync 테스트 해 보니 정상 작동.
sync 가 되는지 확인하기 위해, 원본 디렉토리와 복사본 디렉토리를
파일 추가 삭제 변경하면서
동기화 되는걸 확인.
참고 :
expect 사용법
https://engineer-mole.tistory.com/233
rsync 사용법
http://knamhun.blogspot.com/2008/04/linux-rsync-ssh.html
https://www.lesstif.com/system-admin/rsync-data-backup-12943658.html
2. 정상 작동으로 생각하고, 해당 스크립트로 원래 작업하려던 대용량 디스크 동기화 시작.
3. rsync 가 동기화 안됨.
스크립트 자체는 정상 동작하지만,
원본/복사본 위치의 파일들을 비교해 보면 파일 갯수 차이 발생
파일 갯수 비교 :
$ find . -type f | wc -l
4. 삽질의 시작.
인터넷도 검색해보고, 옵션 값도 바꿔보고, -vv 로 메시지 따라가면서 확인해보고 ...
그런데 안된다.
생각할 수 있는건 다 해 봤는데 안된다.
인터넷 뒤져보면, 그나마 가능성 있는 = 동기화 안되는 원인
> 권한 문제
> 디스크 / 시스템 / OS 간의 파일 시스템 차이 ( NTFS - EXT 등등 )
> 원본과 타겟 간에 시간 정보 system time 이던 뭐던 차이 가능성
정도.
5. 얻어걸린 검색
http://knamhun.blogspot.com/2008/04/linux-expact.html
작업 시간이 오래 걸려야 정상인 rsync script 의 경우,
작업의 timeout 값을 늘려줘야 한다고 한다.
rsync 문제가 아니라
rsync 구문을 실행하는 expect 의 경우
expect 명령의 default timeout 이 30초 라서,
작업 시간이 오래 걸리는 command 나 script 의 경우, 명시적으로 timeout 값을 늘려줘야 하는 것.
즉, 지금까지는 작업 돌다가 timeout 걸리면, 타임아웃까지 실행하뎐 script 혹은 cmd 까지만 실행하고, expect 자체가 종료해 버린 것.
명시적으로
set timeout -1
으로 타이머 값을 무시하게 했더니
rsync 잘 돌아간다.
젠장.
'프로그램 > LINUX' 카테고리의 다른 글
ROCKY 9 에서 FIREWALL Daemon 에 IP 접속 제한 설정. (0) | 2023.02.23 |
---|---|
linux firefox 설치 + 업그레이드 (0) | 2023.02.15 |
아이피 변경 ifcfg 가 없거나, network.server 가 없을때 (0) | 2022.12.23 |
centos 에서 슬립모드 제거, 절전모드 제거 (0) | 2022.11.17 |
Centos 8 에서 랜카드 고정IP 설정 (0) | 2022.11.14 |