crontab -e에 다음 항목이 있습니다.
0 16 * * * /opt/nginxstack/Dropbox-Uploader/DatabaseDumper.sh > /var/log/cron.log 2>&1
19 20 * * * /opt/nginxstack/Dropbox-Uploader/upload_dump_dropbox.sh > var/log/cron.log 2>&1
첫 번째 셸 스크립트는 제대로 실행되지만 두 번째 스크립트는 실행되지 않습니다. 로그에서도 아무것도 찾을 수 없습니다. 누구든지 도와줄 수 있나요? 권한이 올바르게 설정되었으며 /opt/nginxstack/Dropbox-Uploader/upload_dump_dropbox.sh
터미널에서 실행하면 작동합니다. 나는 루트로 실행 중입니다.
편집: 아래는 upload_dump_dropbox.sh의 코드입니다.
#!/bin/bash
/opt/nginxstack/Dropbox-Uploader/dropbox_uploader.sh upload /opt/nginxstack/Dropbox-Uploader/mysqldumpsvps/* /mysqlbckfromvps
답변1
명령줄에서 리디렉션이 실패하면 관련 명령이 실행되지 않습니다.
예:
$ echo 'hello' >nonexistent/path
/bin/sh: cannot create nonexistent/path: No such file or directory
( echo
절대로 실행될 수 없음)
두 번째 크론 작업은 상대 경로 이름으로 리디렉션됩니다 var/log/cron.log
. 해당 경로 이름을 작업의 작업 디렉터리에서 사용할 수 없으면 이 리디렉션이 실패하고 작업이 전혀 실행되지 않습니다.
cron 데몬은 각 실행 시도에 대해 오류 메시지가 포함된 이메일을 crontab 소유자에게 보내야 합니다.