我在/etc/cron.daily/apf中找到了这段代码
#!/bin/bash
/etc/apf/apf -f >> /dev/null 2>&1
/etc/apf/apf -s >> /dev/null 2>&1
它正在刷新并重新加载防火墙。 我不明白>> /dev/null 2>&1部分。
在监狱里放这个有什么用?它覆盖了我的防火墙规则。 我可以安全地删除这个cron作业吗?
我在/etc/cron.daily/apf中找到了这段代码
#!/bin/bash
/etc/apf/apf -f >> /dev/null 2>&1
/etc/apf/apf -s >> /dev/null 2>&1
它正在刷新并重新加载防火墙。 我不明白>> /dev/null 2>&1部分。
在监狱里放这个有什么用?它覆盖了我的防火墙规则。 我可以安全地删除这个cron作业吗?
当前回答
而不是使用>/dev/null 2>&1 你可以使用:wget -O /dev/null -O /dev/null example.com吗
我在其他论坛上看到的是。这里-O将下载的文件发送到/dev/null, -O日志发送到/dev/null,而不是stderr。这种方式根本不需要重定向。”
另一个解决方案是:wget -q——spider mysite。com
https://serverfault.com/questions/619542/piping-wget-output-to-dev-null-in-cron/619546#619546
其他回答
正如其他人所描述的,写入/dev/null消除了程序的输出。通常cron会为由cronjob启动的进程的每个输出发送一封电子邮件。因此,通过将输出写入/dev/null,如果您在cron中指定了您的地址,则可以防止收到垃圾邮件。
我使用>> /dev/null 2>&1静默cronjob。cronjob可以做这项工作,但不会把报告发送到我的电子邮件。
据我所知,不要删除/dev/null.它很有用,特别是当你运行cPanel时,它可以用于丢弃cronjob报告。
编辑/etc/conf.apf.设置DEVEL_MODE = " 0 "。DEVEL_MODE设置为1将在5分钟后添加一个cron作业来停止apf。
我通常在日志文件中使用该命令,目的是在多个服务器上同时运行脚本时捕捉任何错误以评估/排除问题。
sh -vxe cmd > cmd.logfile 2>&1
>> /dev/null将标准输出(stdout)重定向到/dev/null,该输出将丢弃它。
(>>似乎有点多余,因为>>意味着追加,而>意味着截断和写入,无论是追加到/dev/null还是写入到/dev/null都具有相同的净效果。出于这个原因,我通常只使用>。)
2>&1将标准错误(2)重定向到标准输出(1),标准输出(1)也会丢弃它,因为标准输出已经被重定向了。