Linux
Shell 腳本未在 crontab 中執行
以下是我的 crontab 條目
SHELL=/bin/sh PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin * * * * * /FinalSync.sh $(date --date="5 days ago" +%d_%m_%Y) || echo $? >> log
日誌文件中也沒有錯誤
外殼腳本
#! /bin/sh source=/Source/$1 destination=/Destination folderParam=$(basename $source) if /usr/bin/rsync -avh -r $source $destination; then cp /FolderCopyStatus/Success /Status/Success_$folderParam else cp /FolderCopyStatus/Failure /Status/Failure_$folderParam fi
當我在命令行中使用時,腳本執行完美,如下所示
sh /FinalSync.sh $(date --date="5 days ago" +%d_%m_%Y)
cron
轉換%
為任何crontab
條目的換行符。您需要使用%
s轉義\
:* * * * * /FinalSync.sh "$(date --date="5 days ago" +\%d_\%m_\%Y)"