crond守护进程实现定时监控某进程占有内存的大小

1)添加计划任务

crontab -e会使用某个编辑器打开某个文件,然后在内输入需要执行的计划任务,保存后在/var/spool/cron/crontabs/下会出现以用户名命名的文件

2)计划任务如何添加

该文件中每行都包括六个域,其中前五个域是指定命令被执行的时间,最后一个域是要被执行的命令。
    每个域之间使用空格或者制表符分隔。格式如下: 
  minute hour day-of-month month-of-year day-of-week commands

除了数字还有几个个特殊的符号就是"*"、"/"和"-"、",",*代表所有的取值范围内的数字,"/"代表每的意思,"/5"表示每5个单位,"-"代表从某个数字到某个数字,","分开几个离散的数字。

几个例子: 
每天早上6点 
0 6 * * * echo "Good morning." >> /tmp/test.txt //注意单纯echo,从屏幕上看不到任何输出,因为cron把任何输出都email到root的信箱了。

每两个小时 
0 */2 * * * echo "Have a break now." >> /tmp/test.txt

晚上11点到早上8点之间每两个小时和早上八点 
0 23-7/2,8 * * * echo "Have a good dream" >> /tmp/test.txt

每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点 
0 11 4 * 1-3 command line

1月1日早上4点 
0 4 1 1 * command line SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root //如果出现错误,或者有数据输出,数据作为邮件发给这个帐号 HOME=/

每小时执行/etc/cron.hourly内的脚本
01 * * * * root run-parts /etc/cron.hourly
每天执行/etc/cron.daily内的脚本
02 4 * * * root run-parts /etc/cron.daily

每星期执行/etc/cron.weekly内的脚本
22 4 * * 0 root run-parts /etc/cron.weekly

每月去执行/etc/cron.monthly内的脚本 
42 4 1 * * root run-parts /etc/cron.monthly

注意: "run-parts"这个参数了,如果去掉这个参数的话,后面就可以写要运行的某个脚本名,而不是文件夹名。

3)问题:在嵌入式开发中,发现嵌入式Linux系统内输入crontab -e发生报错

crontab: chdir(/var/spool/cron/crontabs): No such file or directory

解决方法:

mkdir -p /var/spool/cron/crontabs

由于/var文件夹是内核的虚拟文件夹,重启后改动全部消失,那么可以通过自启动脚本实现

mkdir -p /var/spool/cron/crontabs
cp /root/root /var/spool/cron/crontabs

chmod 777 /var/spool/cron/crontabs/root
crond

其中由于是在登录前执行,所以不能使用‘~’

4)查看进程占用内存

crond进程定时启动某个脚本实现,脚本如下

PID=`ps |grep XXX|sed -n 1p|awk ‘{print $1}‘`
free >> $FILE
cat /proc/$PID/status |grep VmSize >> $FILE

可以根据自己的内核打印情况自行修改

所有参考的文章以及网址

crontab相关:

linux下添加定时任务

嵌入式Linux下使用BusyBox的crond服务的方法

使用busybox的crond服务

Linux crontab定时任务配置方法(详解)

查看进程相关

http://bbs.csdn.net/topics/360001628(二楼最有用)

Linux下查看某一个程序运行所占用的内存

精确度量Linux下进程占用多少内存的方法

时间: 2024-07-30 06:13:51

crond守护进程实现定时监控某进程占有内存的大小的相关文章

使用 shell 脚本对 Linux 系统和进程资源进行监控

Shell 简介 Shell 语言对于接触 LINUX 的人来说都比较熟悉,它是系统的用户界面,提供了用户与内核进行交互操作的一种接口.它接收用户输入的命令并把它送入内核去执行.实际上 Shell 是一个命令解释器,它解释由用户输入的命令并且把它们送到内核.它没有一般编程语言的“编译 - 链接 - 运行”过程.不仅如此,Shell 有自己的编程语言用于对命令的编辑,它允许用户编写由 shell 命令组成的程序.Shell 编程语言具有普通编程语言的很多特点,比如它也有循环结构和分支控制结构等,用

关于 进程和性能监控

Linux系统状态的查看及管理工具:pstree, ps, pidof, pgrep, top, htop, glance, pmap, vmstat, dstat, kill, pkill, job, bg, fg, nohup pstree命令:pstree-display a tree of processesps-report a snapshot of the current processes (process state)简称ps 查看当前系统的终端Linux系统各进程的相关信息均

Windows zabbix监控远程进程实现机制

最近负责zabbix监控部署方面的工作,需要完成本地服务端监控远程虚拟机的运行状态(CPU.打开的进程等),与大家分享下我的实现方法. (1) 首先,需要实现记录zabbix客户端的进程的批处理:zabbix_task.bat; zabbix_task.bat内容如下: @echo off chcp 65001 tasklist /v |findstr "%username%" > c:/zabbix_temp.txt  #进程路径根据个人习惯设置 pause (2) 其次,实现

分布式监控系统Zabbix-3.0.3-完整安装记录 -添加进程与端口监控

对于进程和端口的监控,可以使用zabbix自带的key进行监控,只需要在server端维护就可以了,相比于nagios使用插件去监控的方式更为简单.下面简单介绍配置:1)监控端口zabbix监控端口使用如下key:key:net.tcp.listen[port]Checks if this port is in LISTEN state. 0 - it is not, 1 - it is inLISTEN state.解释:监听端口状态,返回结果为1,则运行:返回结果为0,则没有运行.比如监控s

zabbix监控之进程自动发现

1,获取要监控的进程到/tmp/process_list.txt文件 cat process_list.sh #!/bin/bashcat /dev/null >/tmp/process_list.txt if [ `ps aux|grep "/data/apache_projects/tomcat7-express-18034"|grep -v grep |wc -l` -gt 0 ];then echo "/data/apache_projects/tomcat7-

使用Shell脚本对Linux系统和进程资源进行监控

ShellLinux脚本 摘要:Shell语言对于接触Linux的人来说都比较熟悉,它是系统的用户界面,提供了用户与内核进行交互操作的一种接口.本文我们以Bash做为实例总结了使用Shell对系统和进程资源进行监控的一些内容,希望对您能有帮助. Shell语言对于接触Linux的人来说都比较熟悉,它是系统的用户界面,提供了用户与内核进行交互操作的一种接口.它接收用户输入的命 令并把它送入内核去执行.实际上Shell是一个命令解释器,它解释由用户输入的命令并且把它们送到内核.它没有一般编程语言的“

2进程之间的关系:进程组,会话,守护进程

 1进程组 一个或过个进程的集合,进程组ID是一个正整数.用来获得当前进程组ID的函数. pid_t getpgid(pid_t pid) pid_t getpgrp(void) 获得父子进程进程组 运行结果: 组长进程标识:其进程组ID=其进程ID 组长进程可以创建一个进程组,创建该进程组中的进程,然后终止,只要进程组中有一个进程存在,进程组就存在,与组长进程是否终止无关. 进程组生存期:进程组创建到最后一个进程离开(终止或转移到另一个进程组) 一个进程可以为自己或子进程设置进程组ID i

zabbix 监控特定进程

由于一些服务器上跑着一些重要程序,需要对它们进行监控,公司用的是zabbix监控,之前都是在zabbix中添加自定义脚本对特定程序进行监控,最近看了zabbix的官方文档,发现原来强大的zabbix居然能监控程序是否运行,并能监控其使用的内存大小,以下是我的实践记录: 1. 在特定机器或模板上创建新的监控项,点击Key 后面的Select 按钮,选择如下两项,一项是用来监控特定进程的数量,另一项是用来监控进程使用内存的大小. 2.以下是对squid进程的监控配置,key中的参数说明,第一个参数是

zabbix监控 nginx 进程

参考 http://chenx1242.blog.51cto.com/10430133/1837990 1 前期说明 zabbix_server查看"文件在后台运行数量"所对应的key就是:proc.num[<name>,<user>,<state>,<cmdline>],具体意思如下: <name>:进程名称,默认为"all processes": <user>:用户名,默认 "al