cmd에서 성공적으로 실행할 수 있는 SSH 스크립트(테스트 목적)가 있습니다.
#!/bin/bash
/usr/bin/sshpass -p 'password' /usr/bin/sftp user@host:/out/test/ <<< $'put -r /data/test/*'
A는 ./script.sh
완벽하게 실행되며 모든 파일을 리모컨에 업로드합니다.
하지만 script.sh 에서 script.sh 를 호출하면 crontab
아무 일도 일어나지 않습니다. 왜?
답변1
다음과 같이 작동하게 할 수 있습니다.
/usr/bin/lftp sftp://user:pass@host -e "set sftp:auto-confirm yes;
set net:timeout 10; set net:max-retries 3; mirror -R --max-errors=1 --verbose=1
/local/test /remote/test; quit;"
그러면 내부의 모든 파일이 /local/test/
원격 sftp 폴더에 동기화됩니다.