sshpass 및 sftp가 crontab에서 작동하지 않습니까?

sshpass 및 sftp가 crontab에서 작동하지 않습니까?

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 폴더에 동기화됩니다.

관련 정보