我在/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作业吗?
当前回答
编辑/etc/conf.apf.设置DEVEL_MODE = " 0 "。DEVEL_MODE设置为1将在5分钟后添加一个cron作业来停止apf。
其他回答
/dev/null是一个标准文件,它丢弃所有写入文件,但报告写入操作成功。
1为标准输出,2为标准误差。
2>&1重定向标准错误到标准输出。&1表示文件描述符(标准输出),否则(如果只使用1)将标准错误重定向到名为1的文件。>>/dev/null 2>&1将所有标准错误重定向到标准输出,并将所有标准错误写入/dev/null.
正如其他人所描述的,写入/dev/null消除了程序的输出。通常cron会为由cronjob启动的进程的每个输出发送一封电子邮件。因此,通过将输出写入/dev/null,如果您在cron中指定了您的地址,则可以防止收到垃圾邮件。
我通常在日志文件中使用该命令,目的是在多个服务器上同时运行脚本时捕捉任何错误以评估/排除问题。
sh -vxe cmd > cmd.logfile 2>&1
让我一点一点地解释。
0,
0: standard input
1: standard output
2: standard error
>>
>>命令>> /dev/null 2>&1将回显信息追加到/dev/null
命令>> /dev/null 2>&1
后命令:
command
=> 1 output on the terminal screen
=> 2 output on the terminal screen
后重定向:
command >> /dev/null
=> 1 output to /dev/null
=> 2 output on the terminal screen
/dev/null 2>&1
command >> /dev/null 2>&1
=> 1 output to /dev/null
=> 2 output is redirected to 1 which is now to /dev/null
编辑/etc/conf.apf.设置DEVEL_MODE = " 0 "。DEVEL_MODE设置为1将在5分钟后添加一个cron作业来停止apf。