내 작은 백업 스크립트는 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 사용자가 쓸 수있는 권한이 있지만, ssh
과 mv
명령을 결합하면 작동하지 않습니다. 내가 무엇을 놓치고 있습니까?
클라이언트는 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이며 기본적으로 루트 액세스 만 허용합니다. 아직 튜닝이 끝나지 않았기 때문에 공개 키 인증조차도 재부팅시에도 유지되지 않습니다. 그러나 그것은 또 다른 이야기입니다.
대상 및 소스의 전체 경로를 게시 할 수 있습니까? – SilentMonk
원격 서버에 대한 루트 액세스 권한이 있습니까? –
명명 규칙은 임시 파일임을 나타냅니다. 파일이 항상 있는지 확인 하시겠습니까? as : 임시 파일은 서버의 다른 스크립트에 의해 정기적으로 생성되고 정기적으로 삭제됩니다. – grochmal