linux - 在 crontab 中执行 ping 命令但没有输出
问题描述
crontab(用户的 crontab)配置如下:
@reboot ping 1.1.1.1>/home/username/test.log
重新启动后,生成了文件“test.log”,但它只是一个空文件。并grep CRON /var/log/syslog
显示该ping
命令已执行。任何人都知道问题是什么?
我尝试了一些我搜索的解决方案,例如更改ping
或/bin/ping
设置HOME
环境变量,但仍然无法正常工作。
解决方案
这是重现您的问题的简单方法:
ping host.invalid > file.txt
ping
将运行并显示错误,并将file.txt
创建但为空。这是因为 Unix 程序区分输出和错误,而您只是重定向输出。
要重定向错误,您可以使用:
@reboot ping 1.1.1.1 > /home/username/test.log 2>&1
推荐阅读
- python - Returning a print statement still shows the value
- json - How to sort all the JSON data into plain TXT file
- python - How to get count of categories within column from time series resample
- python - 多个海龟,多个随机动作
- server - 当我向 api 服务器发出 post 请求时收到 404 错误
- python - ”Statement seems to have no effect” when using While with True & a return for accessing a list
- c++ - 可以从 int 转换为 enum 类类型吗?
- recursion - 尝试实现这个递归斐波那契序列会给出错误的输出
- flickr - flickr api:如何知道图像属于哪些专辑
- java - 如何使用 (input == '\n') 之类的东西来确定何时停止接受用户输入?