Debian
使用 crontab 執行 ./script.sh
有了
Debian GNU/Linux 10 (buster)
,我正在使用一個簡單的腳本來保存數據庫並使用Dropbox-Uploader工具PostgreSQL
將其上傳到我的Dropbox
帳戶。我用.crontab
當我從提示符直接執行我的腳本時,一切正常並且執行良好,但是當它從 crontab 執行時,上傳操作沒有執行(
./dropbox_uploader.sh -d upload
)。我在執行權限中遺漏了什麼嗎?
腳本(my_script.sh)
#!/bin/bash # Database dump pg_dump -U postgres -d my_database > /home/my_user/`date +%Y%m%d`_my_database.sql # Upload to Dropbox ./dropbox_uploader.sh -d upload /home/my_user/`date +%Y%m%d`_my_database.sql `date +%Y%m%d`_my_database.sql
權限
ls -l my_script.sh -rwxr-xr-x 1 my_user my_user 732 Apr 7 09:19 my_script.sh getfacl my_script.sh # file: my_script.sh # owner: my_user # group: my_user user::rwx group::r-x other::r-x ls -l dropbox_uploader.sh -rwxr-xr-x 1 root root 52481 Apr 6 16:01 dropbox_uploader.sh getfacl dropbox_uploader.sh # file: dropbox_uploader.sh # owner: root # group: root user::rwx group::r-x other::r-x
克朗
0 9 * * * /bin/sh /home/my_user/my_script.sh
修改你的腳本,寫下腳本dropbox_uploader.sh的完整路徑
#!/bin/bash # Database dump pg_dump -U postgres -d my_database > /home/my_user/`date +%Y%m%d`_my_database.sql # Upload to Dropbox /home/my_user/dropbox_uploader.sh -d upload /home/my_user/`date +%Y%m%d`_my_database.sql `date +%Y%m%d`_my_database.sql