小编Mus*_*hid的帖子

在 Crontab 中使用 If 语句生成警报

我有一台服务器,其中大约有 100 个运行各种 PHP 脚本的 Cron 作业。当前的任务是在 PHP 脚本执行过程中发生错误时生成警报。

Cron 设置如下:

30 08 * * * /usr/bin/php /var/www/html/phpscirpt1.php > /var/www/html/phpscript1.log 2>&1
Run Code Online (Sandbox Code Playgroud)

我尝试的是&&在最后放置一个,但这无论如何都会生成警报电子邮件

30 08 * * * /usr/bin/php /var/www/html/phpscript1.php > /var/www/html/phpscript1.log 2>&1 && <Generate Mail>
Run Code Online (Sandbox Code Playgroud)

应该有效的理想情况是

 /bin/bash /home/myUser/testfile.sh > /home/myUser/testfile.log 2>&1 ; [$? == 1] && /bin/bash script.sh
Run Code Online (Sandbox Code Playgroud)

以下只是一个用于测试目的的示例,当

/bin/bash /home/myUser/testfile.sh > /home/myUser/testfile.log 2>&1
Run Code Online (Sandbox Code Playgroud)

执行testfile.sh仅创建一个目录。第一次执行上述命令时会echo $?给出输出0,但再次运行该命令会返回1,因为脚本返回并记录错误

mkdir: cannot create directory `/home/myUser/testdir': File exists
Run Code Online (Sandbox Code Playgroud)

基本上,这就是所需要的,即每当 cron 中的脚本失败时,它应该以电子邮件的形式生成警报。上面的示例script.sh包含一个mail -s发送电子邮件的命令。

但是当执行完整的命令时,会返回错误,如下所示 …

linux cron shell-script

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

在单个安装点上安装两个驱动器时出现意外结果

今天,我的一台服务器上的空间不足/tmp,因此我将一个新的 100GB 磁盘附加到系统上,并在不卸载的情况下执行了以下/usr/tmpDSK操作/tmp

mkfs.ext4 /dev/xvde
mount /dev/xvde /tmp
Run Code Online (Sandbox Code Playgroud)

现在df -h输出为:

Filesystem      Size  Used Avail Use% Mounted on
/usr/tmpDSK      98G  4.5G   89G   5% /tmp
/dev/xvde        98G  4.5G   89G   5% /tmp 
Run Code Online (Sandbox Code Playgroud)

演出规模/usr/tmpDSK

[root@server2 usr]# ll -h /usr/tmpDSK
-rw------- 1 root root 2.3G Jan 27 17:32 /usr/tmpDSK 
Run Code Online (Sandbox Code Playgroud)

不同的论坛建议使用mhddfs在单个安装点上安装多个驱动器,但我只是直接这样做,它似乎有效 - 或者我错过了什么?

我希望能更好地了解到底发生了什么。

linux filesystems partition mount

4
推荐指数
1
解决办法
1900
查看次数

标签 统计

linux ×2

cron ×1

filesystems ×1

mount ×1

partition ×1

shell-script ×1