我试图用下面的命令每5分钟在特定文件中redirectTOP命令输出。
top -b -n 1 > /var/tmp/TOP_USAGE.csv.$(date +"%I-%M-%p_%d-%m-%Y") -rw-r--r-- 1 root root 0 Dec 9 17:20 TOP_USAGE.csv.05-20-PM_09-12-2015 -rw-r--r-- 1 root root 0 Dec 9 17:25 TOP_USAGE.csv.05-25-PM_09-12-2015 -rw-r--r-- 1 root root 0 Dec 9 17:30 TOP_USAGE.csv.05-30-PM_09-12-2015 -rw-r--r-- 1 root root 0 Dec 9 17:35 TOP_USAGE.csv.05-35-PM_09-12-2015
因此,我为此做了一个非常小的(1行)shell脚本,这样我就可以通过cronjob每5分钟运行一次。
问题是当我手动运行这个脚本,然后我可以看到文件中的输出,但是当这个脚本自动运行时,文件每5分钟产生一次,但没有数据(又名文件是空的)
任何人都可以帮助我吗?
Linux脚本不能通过crontab运行shell脚本
bash脚本从shell运行,而不是从cron作业运行
Cron脚本没有运行,尽pipe手动运行时工作
Python的cron作业:/ usr / local / bin:糟糕的解释器:权限被拒绝
使用Cron作业的每日数据库备份
我现在修改了脚本,仍然是一样的。
#!/bin/sh PATH=$(/usr/bin/getconf PATH) /usr/bin/top -b -n 1 > /var/tmp/TOP_USAGE.csv.$(date +"%I-%M-%p_%d-%m-%Y")
什么是cron作业的服务器使用情况?
我如何确保一个stream程运行,即使它自己被杀死? (那么需要重新启动)
永远不会执行的cron作业
在脚本窗口上的cron-likefunction的脚本
在不同主机上的Docker中运行cron的问题
很可能从cron传递给你的脚本的环境太少了。 特别是, PATH可能不是你想象的那样(从cron启动的脚本没有配置文件被读取)。
在脚本开始处放置PATH=$(/usr/bin/getconf PATH) ,然后运行它
/usr/bin/env -i /path/to/script
一旦没有错误,它已经准备好了cron。
我遇到了和你一样的问题。
必须添加带-b选项的顶层命令。在使用它之前,将顶层输出保存到变量中。
脚本如下
date >> /tmp/MysqL-mem-moniter.log
MEM = /usr/bin/top -b -n 1 -u MysqL
回声“$ MEM”| grep MysqL >> /tmp/MysqL-mem-moniter.log
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。