gpt4 book ai didi

linux - 脚本手动工作但不通过 crontab

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:18:42 26 4
gpt4 key购买 nike

我是 Shell 脚本的新手,正在编写一个将从我的 digital ocean 桶​​ (SPACES) 中删除旧项目的脚本

脚本在手动运行时有效,但在我使用 crontab 时出错我也看过其他类似的问题,但没有帮助

脚本:

#!/bin/bash

/usr/local/bin/s3cmd -c ~/Bucket_Name ls s3://$1 | while read -r line;
do
createDate=`echo $line|awk {'print $1" "$2'}`
createDate=`date -d"$createDate" +%s`
olderThan=`date -d"-$2" +%s`
#echo $line
#echo $createDate
#echo $olderThan
#echo $1
#echo $2
if [[ $createDate -lt $olderThan ]]
then
fileName=`echo $line|awk {'print $4'}`
#echo $fileName
if [[ $fileName != "" ]]
then
#printf 'FILE' $fileName
if [[ $fileName == *"sql" ]]
then
/usr/local/bin/s3cmd -c ~/Bucket_Name rm "$fileName"
fi
fi
fi
done;

手动命令(工作):

./sqlclear.sh "Bucket_Name" "300 minutes"

Crontab 命令:

* * * * * sh /sqldump/sqlclear.sh "Bucket_Name" "300 minutes" >> /var/log/sql-clear.log 2>&1

错误 Cron 日志(上面的 sql-clear.log):

/sqldump/sqlclear.sh: 13: /sqldump/sqlclear.sh: [[: not found

最佳答案

我在 crontab 中运行时错过了 Bash所以crontab 应该是

* * * * * bash /sqldump/sqlclear.sh

关于linux - 脚本手动工作但不通过 crontab,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47070610/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com