2016-06-01 2 views
-3

내 작은 백업 스크립트는 ssh를 사용하여 임시 폴더에서 백업을 이동합니다. 이처럼 - 같은 결과를 ssh 및 mv 명령이 작동하지 않는 스크립트

... && ssh [email protected] "mv /path/to/temp/folder /another/path" 

하지만 실행 후

mv: can't rename /path/to/temp/folder: No such file or directory

내가 터미널에서 직접이 명령을 반복하려 말한다. 재미있는 것

ssh [email protected] "ls /path/to/temp/folder/" 

잘 작동합니다. 그리고 처음 원격 서버에 로그인 한 다음 mv을 실행하면 작동합니다. 서버에있는 폴더는 ssh 사용자가 쓸 수있는 권한이 있지만, sshmv 명령을 결합하면 작동하지 않습니다. 내가 무엇을 놓치고 있습니까?

클라이언트는 Solaris 기반 서버는 데비안 기반입니다.

편집 : 여기

#!/bin/sh 
date=`date "+%Y%m%d-%H%M%S"` 
BKP=/Core/ 
rsync -azP \ 
--link-dest=../current \ 
--exclude-from=$HOME/.rsync/exclude \ 
$BKP [email protected]:/shares/Backups/Saturn/incomplete_backup-$date \ 
&& ssh [email protected] \ 
"mv /shares/Backups/Saturn/incomplete_backup-$date /share/Backups/Saturn/$date \ 
&& rm -f /shares/Backups/Saturn/current \ 
&& ln -s $date /shares/Backups/Saturn/current" 

rsync를 부분이 마치 마법처럼 작동 전체 스크립트,하지만 MV 명령을입니다 -하지 않습니다.

P. 루트로 로깅하는 것은 좋지 않지만 서버는 WD NAS이며 기본적으로 루트 액세스 만 허용합니다. 아직 튜닝이 끝나지 않았기 때문에 공개 키 인증조차도 재부팅시에도 유지되지 않습니다. 그러나 그것은 또 다른 이야기입니다.

+0

대상 및 소스의 전체 경로를 게시 할 수 있습니까? – SilentMonk

+0

원격 서버에 대한 루트 액세스 권한이 있습니까? –

+0

명명 규칙은 임시 파일임을 나타냅니다. 파일이 항상 있는지 확인 하시겠습니까? as : 임시 파일은 서버의 다른 스크립트에 의해 정기적으로 생성되고 정기적으로 삭제됩니다. – grochmal

답변

0

@ 삼중주에게 감사드립니다. 는 내가 두 번째 경로에 관심을 지불하지 않았는지, 그게 전부 오타 mv //Backups/Saturn/incomplete_backup-$date / 출력은 첫번째 경로를 보여 mv: can't rename '/shares/Backups/Saturn/incomplete_backup-20160601-132929': No such file or directory 같은 소리/Backups/Saturn/$date MV했다. 바보 같은 질문에 사과드립니다. 내 잘못입니다.

+0

@IAmInPLS이 작업을 수행하게되어 기쁩니다. 그러나 정답은 제 질문에 대한 의견으로 주어 졌으므로 올바른 것으로 표시 할 수는 없습니다. 나는 최선을 다해 그 의견을 유용하다고 판결하고 대답으로 재 게시했다. 어쨌든, 실제로는 아무런 질문이 없습니다. 실수를 한 것뿐입니다. 오타이기 때문에 질문이 삭제 될 것입니다. – iMisanthrope

관련 문제