리눅스 rsync 설정 문의드려요
물
물안개 (14.♡.110.58)
2025년 11월 23일 PM 05:27 · 수정됨(11. 30. 01:20)
조회 352 공감 0
로컬에 있는 A디렉토리와 B디렉토리를 동기화하려고 합니다.
rsync 명령어를 스크립트 파일로 만들어 crontab으로 자동실행 등록했는데,
A디렉토리에 새로 추가한 파일들이 아무리 해도 B디렉토리로 복사가 안 되더라구요.
오늘 이것저것 만져보다가 확인한 것이......
A디렉토리 하위 디렉토리명에 공백이 포함되어있으면 제대로 인식을 못하는 것 같습니다.
윈도우에서 robocopy 이용할 때는 이런 문제가 없었는데 난감하네요.
뭔가 방법이 있을 것 같은데 구글링으로는 해결이 안 되네요.
해결 방법 좀 알려주세요 ㅠㅠ
댓글 (8)
-
널널문자
25.11.23 · 58.♡.5.241
-
물물안개
→ 널문자 작성자
25.11.23 · 14.♡.110.58
디렉토리나 파일 갯수가 많지 않으면 말씀하신대로 디렉토리마다 하나씩 따옴표로 묶어서 실행을 하면 되는데,
아래처럼 실행시킨다고 가정하면
rsync -avh "source" "destination"
source 디렉토리 안에 있는 하위 디렉토리 중에 이름에 공백 포함된 것들이 수백개 있어요 ㅠㅠ
ex) 이런 것들이요
source/my data1
source/my data2
....... -
널널문자
→ 물안개
25.11.23 · 58.♡.5.241
그럼 원인이 공백문자가 아닌것같습니다.
명령줄이 아닌 하위폴더의 공백문자는 저런 문제는 없었습니다.
혹시 파일시스템이 깨진것 아닐까요?
항상 실행중인 서버는 쉽지않지만,
fsck 한번 돌려보세요. -
도도깨비방뫙
25.11.23 · 211.♡.227.248
rsync 명령을 메뉴얼로 실행해보기.
스크립트를 수동으로 실행해보기.
잘된다면 crontab에서의 실행문제는 아닌듯 합니다.
혹시나 동작이 장시간걸려서 리소스부족에 걸린건 아닌지, 스크립트내에서 tee 넣어서 로그도 남겨보시고요.
스크립트내에서 sudo나 background 실행옵션(nohup, &)을 잘 활용해보세요.
실행중 여러이유로 메모리가 부족해서 팅길수도 있으니 스왑공간도 늘려보시구요. -
데데굴대굴
25.11.24 · 203.♡.184.50
rsync 에서 crontab 으로 안되면...
1. 수동으로 명령줄 하나하나 쳐보기
2. 만든 배치를 직접 실행해보기
3. 배치시 로그 생성해서 해결해보기
순서로 접근해야 합니다. rsync면... --log-file=/tmp/rsync.log 와 같은 식으로 해야 로그 떨어질겁니다. (저는 개인적으로 이렇게 쓰는 것보다 > /tmp/mybatch.log 와 같이 스트림해버리는걸 더 좋아합니다)
그리고, 하위폴더 포함이신거 같은데, rsync에서 하위폴더 포함이면 -r 입니다..... -
LLocus
25.11.25 · 110.♡.182.155
많은 분들이 답을 주셨는데, 혹시 잘 안되시면 그냥 GPT한테 명령어 붙여보세요.
이러이러하게 명령어를 쳤는데 robocopy로 잘 되던 것이 rsync 로 하니까 추가되는 것이 안된다 뭐 이렇게 주저리 쓰시면 GPT가 해결책을 줄겁니다 -
쾌쾌변조로
25.11.26 · 211.♡.201.7
rclone 사용해보세요 -
물물안개
작성자
25.11.30 · 14.♡.110.58
엉뚱한 걸로 삽질을 하다가, 뒤늦게나마 결과 남겨드립니다. 결론은 공백이 문제가 아니었네요. 제가 쉘 스크립트로 만들고 그걸 crontab으로 실행하는 형태로 만들었었는데, 쉘 스크립트에서 아래처럼 경로를 변수로 만든 게 문제였네요. 이유는 모르겠는데 아래처럼 실행하면 분명 rsync가 제대로 동작하는 것처럼 로그가 나오는데, 실제로는 그렇지 않았습니다.
SRC="source/my data1/"
DES="source/my data2/"
rsync -avh $SRC $DES
그래서 아래처럼 그냥 한 줄로 작성해서 실행했더니 아무런 문제가 없네요
rsync -avh source/my data1/ source/my data2/
왜 처음처럼 작성한 것이 제대로 동작하지 않는지 이유는 잘 모르겠습니다.
그냥 두번째처럼 작성해서 잘 동작하는 걸 확인했어요
다들 도움주신 분들 감사드립니다.
댓글을 작성하려면 이 필요합니다.
이럴때는 하나의 옵션스트링을 따옴표로 묶으면 됩니다.
cp "x x x" "y y y" 이렇게요.
저건 윈도우도 똑같을텐데...
윈도우에서는 안해봐서 모르겠네요.