Rsync 스크립트 오류 "디렉토리입니다"

Rsync 스크립트 오류 "디렉토리입니다"

나는 일반적으로 rsyncbash 스크립트를 실행하여 데이터를 외부 드라이브에 백업합니다. 그 중 설명은 다음과 같습니다.

#!/usr/bin/env bash
#Backup
#-r : recursive
#--size-only : ignore timestamp, use size
#-t : transfer modif times
#-v : verbose
#--progress : show transfers as they happen
#--delete-before : files to be deleted are done so before transfers
#-u : update; skip newer files on target
#-L : follow symlinks
#
rsync -r --size-only --progress --delete-before -t -v -u -L /home/user/Desktop/backup/ /media/guajardo/BCKPDRV/jomdir/

내 데스크탑 디렉토리에는 backup동기화하려는 모든 디렉토리에 대한 심볼릭 링크가 있습니다. 최근에 외부 드라이브의 모든 항목을 이 디렉터리로 옮겼는데 jomdir(모두 드라이브의 루트에 있음) 이제 스크립트를 실행할 때 오류가 발생합니다 line 12: /media/user/BCKPDRV/jomdir: Is a directory. 모든 것이 루트 디렉터리에 있는 경우에는 이런 일이 발생하지 않습니다. 운전하다. 그러나 bash에서 위 명령을 실행하고 Desktop/...전체 경로를 상대 경로 등으로 바꾸면 작동합니다. 스크립트를 수정하고 ~/Desktop/...등을 사용하면 오류가 사라지고 rsync작동합니다.

왜 이런 일이 발생하는지에 대한 아이디어가 있습니까? 제발: rsync이런 종류의 일을 위해 정기적으로 사용하는 다른 스크립트가 여러 개 있으므로 이 스크립트를 계속 사용하고 싶습니다 .

감사합니다!

편집: 앞서 언급했듯이 스크립트의 나머지 부분은 단지 주석이므로 각 옵션의 기능을 잊지 않고 여기에 있습니다.

답변1

게시한 오류는 line 12: /media/user/BCKPDRV/jomdir: Is a directoryrsync 오류가 아니라 쉘 오류입니다. 쉘은 라인 12에서 위의 경로가 실행될 것이라고 생각하지만 오류는 해당 작업을 수행할 수 없음을 나타냅니다. rsync예상한 대로 논쟁으로 작동 하지 않습니다 .

더 많은 도움을 받으려면 관련 있다고 생각되는 부분뿐만 아니라 실제 bash 스크립트를 질문에 잘라내어 붙여넣을 수도 있습니다.

관련 정보