我有一个脚本,它应该每周运行 scoutsuite 进行 AWS 审计。我正尝试从 cron 执行该脚本。Scoutsuite 运行后会创建一个文件夹并将所有结果保存到目录“scoutsuite-report”。如果我手动运行该脚本,它会完美运行,但当放置在 crontab 中时,它会跳过“scout”命令,或者说不会创建目录,但脚本的其余部分可以运行。
脚本如下:
#!/bin/bash
rm -rf /root/scoutsuite-report
rm -f /root/scout*.zip
date=$(date +%Y-%m-%d)
scout aws --profile personal --region us-east-1 --no-browser --quiet
sleep 10
# Zip the results with Date
zip -qq -r scout-$date.zip /root/scoutsuite-report
sleep 5
# Mount Space folder | Copy zipped results | Unmount Space folder
mount -t cifs -o credentials=~/.smbcredentials "//<space share>" /media/NAS
cp /root/scout-*.zip /media/NAS/
sleep 60
umount /media/NAS/
Crontab 如下:
0 6 * * MON /root/scripts/scoutsuite.sh
答案1
最有可能的是,当您从 cron 运行脚本时没有定义 PATH,因此请尝试将整个路径添加到命令中。
例如 /usr/sbin/scout 等,无论命令的正确路径是什么