用crontab执行shell把top命令按日期追加到文件
用crontab执行shell把top命令按日期追加到文件 详细图文解说请到本人原创百度经验
http://jingyan.baidu.com/article/3052f5a1daf11197f21f8648.html
解决crontab定时输出top不执行办法
top -n 1不能在 crontab中使用,要加一个参数top -b -n 1
需求:在linux服务器用crontab执行shell基本把top命令结果按日期追加到文件。
常见问题:1.直接执行命令可以正常,放到shell脚本里面执行不行。
2.直接执行shell脚本正常输出,放到crontab后不行。
本文列出crontab和直接执行命令的差别、shell定义环境变量、linux获取当前日期、crontab每分钟执行一次、实时监控是否有输出内容、写入内容和追加内容的区别等相关知识点,并给出自己测试成功的实例和截图。
工具/原料
linux
方法/步骤
1
crontab默认是没有环境变量的,也不能直接使用相对路径
直接在命令行执行 就是在当前的shell环境下执行
脚本执行的时候 会fork一个子进程 所有操作都在子进程进行
crontab执行的shell脚本命令要用绝对路径
例如:/usr/bin/top -b -d 1 -n 1 >> /usr/mydoc/test.txt
2
shell 中变量的定义:linux shell脚本定义变量采用key=value方式,一行一个,字符串用""双引号,读取采用$key的方式。
例如:NAME="/root/top_"$(date +%Y-%m-%d) 就是定义一个前缀加当前日期的文件名。
3
单独top命令不会自动退出,shell脚本必须要能够自动退出才会些数据到文件里面,所以一定要先单独测试会自动退出的带参数的top命令才行。
例如:输入top -b -d 1 -n 3 >test.txt
表示:每一秒更新一次,一共记录3次 将进程信息写入test.txt文件中
需要执行一次就退出改成/usr/bin/top -b -d 1 -n 1 >test.txt
注:内容写入文件是>,会清空以前的内容的,追加内容是>>
4
创建一个toptest.sh脚本,内容为:
#!/bin/sh
NAME="/root/top_"$(date +%Y-%m-%d)
/usr/bin/top -b -d 1 -n 1 >> $NAME.txt
给sh脚本执行权限命令:chmod +x toptest.sh
如下图所示:
5
crontab每分钟执行一次的写法:*/1 * * * * /bin/bash /root/sh/toptest.sh
编辑命令是crontab -e,注意命令前面要加上/bin/bash 。
生效后用到文件目录下执行:tail -f top_2014-02-19.txt 可以实时监控是否有输出内容。如果没有输出内容说明脚本有问题需要修改,主要是保证top后面的参数正常,效果如图所示:
END
注意事项
crontab默认是没有环境变量的,也不能直接使用相对路径
单独top命令不会自动退出,shell脚本必须要能够自动退出才会些数据到文件里面
命令前面要加上/bin/bash
用crontab执行shell把top命令按日期追加到文件的更多相关文章
- 在Linux终端执行clear或top命令时出现:'xterm': unknown terminal type
在Linux终端执行clear或top命令时出现:'xterm': unknown terminal type的错误. 例如: [root@localhost phpmyadmin]# clear ' ...
- Linux Shell之top命令
TOP是一个动态显示过程,即可以通过用户按键来不断刷新当前状态.如果在前台执行该命令,它将独占前台,直到用户终止该程序为止.比较准确的说,top命令提供了实时的对系统处理器的状态监视.它将显示系统中C ...
- linux 执行远程linux上的shell脚本或者命令以及scp 上传文件到ftp--免密码登陆
场景:在linux A 上执行Linux B上的shell脚本和命令 步骤1.设置ssh免登陆 1.SSH无密码登录 # 本地服务器执行(A机器):生成密钥对 ssh-keygen -t dsa -P ...
- linux crontab执行shell脚本中包含相对路径的问题
实例一 test.sh文件 echo `date`>test.log 配置crontab 设置 */1 * * * * sh /data/test.sh 在/data/目录下,未找到test.l ...
- 在linux终端执行clear或top命令时出现:'xterm' unknown terminal type的错误
例如: [root@localhost phpmyadmin]# clear 'xterm': unknown terminal type. 解决办法: 1.临时办法,下次启动失效,需要重新执行 ex ...
- crontab执行shell脚本
*/5 * * * * cd /data/**/ && ./*.sh * * * * * /bin/sh /home/*.sh
- linux 执行shell脚本的时候,生成的log文件乱码
脚本执行后,生成的log文件,cat打开没有问题,vim打开就是文字乱码. file1完全没有问题,其他人的file2追加到file中间的时候就出现了这个问题. 因为使用notepad在win7写的, ...
- 解决命令行执行shell脚本成功,但crontab执行失败
实际生产案例 生产机房自建PPTP客户端通过拨号连接到生产机房,但是一旦客户端网络是意外断线再重新拨号 会产生IP冲突,于是写了一个脚本监控PPTP的IP是否有多个(一般冲突以后会生成2个IP) #! ...
- paip.执行shell cmd 命令uapi java php python总结
paip.执行shell cmd 命令uapi java php python总结 作者Attilax 艾龙, EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:h ...
随机推荐
- docker swarn集群笔记
.安装Docker 三剑客: curl -L https://github.com/docker/machine/releases/download/v0.10.0/docker-machine-`u ...
- wpgcms---首页数据怎么掉
在首页调用单页模型下的,单页列表使用的方法: {% for page in wpg.page.getList('business') %} <li> <div class=" ...
- spark脚本日志输出级别设置
import org.apache.log4j.{ Level, Logger } Logger.getLogger("org").setLevel(Level.WARN) Log ...
- ThinkPHP widge使用示例
1.widge一般用于公用模块的设计与使用,以便加强软件模块的复用性与重用性 一般使用include方法设计公共模块,比如<include file="home:header" ...
- mysql 数据库简介
1. 什么是数据库 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库, 每个数据库都有一个或多个不同的API用于创建,访问,管理,搜索和复制所保存的数据. 我们也可以将数据存储在文 ...
- Oracle体系结构之Oracle基本数据字典:v$database、v$instance、v$version、dba_objects
v$database: 视图结构: SQL> desc v$database; Name Null? Type - ...
- centos7 安装ftp
安装VSFTPD 1.首先确认系统内无VSFTPD. rpm -qa|grep vsftpd 若有的话会显示vsftpd-x.x.x.-x.xxx.x86_64 若没有的话会空返回 2.安装VSFTP ...
- html中载入自执行getElementById("xx")得到null
<!DOCTYPE HTML> <html> <head> <title>Scope Chain & Closure Example </ ...
- android侧滑删除,模仿qq跟进item显示删除按钮
今天所写的代码只是为了个人以后查询方便,如果你参考了并且在使用中遇到问题也可以在这里直接回复我 SwipeDelMenuLayout: 效果图: item布局: <?xml version=&q ...
- abap 基本知识
sap gui 安装教程:http://www.itpub.net/forum.php?mod=viewthread&tid=2090890 1:abap 基本数据类型: i(整型),f(浮点 ...