小编kun*_*nal的帖子

使用 cron 作业发送邮件

我写了一个脚本,一切都根据我的需要运行良好:

a=$(df -h /mnt/smb | tail -n +3 | tr -s ' ' | tr '%' ' ' | cut -d ' ' -f 5)
echo $a

if [[ $a -ge 30 ]]; then
    cat /etc/diskspace/text.txt | sendmail test.gmail.com
fi
Run Code Online (Sandbox Code Playgroud)

我想通过 Cron 每分钟运行一次这个脚本,看我的 crontab:

* * * * * /etc/diskspacae/vpndrive.sh
Run Code Online (Sandbox Code Playgroud)

如您所见,如果驱动器空间超过 80%,运行此脚本后,我想使用 sendmail 在我的电子邮件中收到通知。

但是当我从 Cron 运行这个脚本时我还没有得到它,并且我在/var/spool/mail/root.

ERROR Message: /etc/diskspace/vpndrive.sh line 34 : sendmail: command not found. 
Run Code Online (Sandbox Code Playgroud)

cron sendmail

5
推荐指数
2
解决办法
2万
查看次数

如何检查文件夹是否为空并在 if-then-else-statement 中使用其内容?

我需要检查文件夹是否为空,并根据输出我需要运行一些其他命令。我正在使用 Ubuntu 18.04.5 LTS。

我的 bash 脚本:

if [ "$(ls -A /mnt/mamdrive/"As Metadata"/)" ] || ["$(ls -A /mnt/mamdrive/"As Video"/)"  ]; then
    echo "copy file"
else
    echo "dont copy"
fi
Run Code Online (Sandbox Code Playgroud)

这种情况有时有效,但有时不起作用,而且很难重现。有没有其他方法可以检查目录是否为空并相应地执行一些操作?

command-line bash scripts

2
推荐指数
2
解决办法
4733
查看次数

标签 统计

bash ×1

command-line ×1

cron ×1

scripts ×1

sendmail ×1