Linux Cron不';t在ubuntu 20中运行sh脚本

Linux Cron不';t在ubuntu 20中运行sh脚本,linux,docker,ubuntu,cron,Linux,Docker,Ubuntu,Cron,我尝试了不同的选项来自动运行备份脚本,但它不起作用。日志中的一切都很好,一切都表明发射正在进行中。有什么问题吗?手动启动时,脚本可以工作。脚本: #!/bin/bash PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/root/nino_new/nino now=$(date +"%d-%m-%y_%H:%M:%S") filename=backups/nino_$now.json dock

我尝试了不同的选项来自动运行备份脚本,但它不起作用。日志中的一切都很好,一切都表明发射正在进行中。有什么问题吗?手动启动时,脚本可以工作。脚本:

#!/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/root/nino_new/nino
now=$(date +"%d-%m-%y_%H:%M:%S")
filename=backups/nino_$now.json
docker exec -ti skill01 python manage.py dumpdata -o $filename -a
crontab:

SHELL=/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/root/nino_new/nino
* * * * * sh /root/nino_new/nino/backup.sh

尝试在
***
之后删除
sh
,只保留脚本的路径。

可能不是问题,但是shebang说Bash,但是crontab显式使用
sh
。可能的问题是:
-t
-i
在cron下可能有问题,无论如何都不必要。#/bin/sh和SHELL=/bin/sh?我必须使用-ti,不行。手动运行脚本和通过cron运行脚本有什么区别吗?就性能而言,脚本是否可以手动运行良好,但由于脚本本身的原因,它无法通过cron工作?这种不匹配不是问题。显式的
sh
文件,其shebang表示Bash通常是个坏主意。在本例中,脚本没有任何Bash功能(尚未!),因此不应引起问题。如注释中所述,这在本例中不会有任何区别,因为脚本实际上不需要任何仅限Bash的功能。