Linux crontab的使用方式,sh脚本的编写,sh脚本自动启动tomcat服务器,sh监控系统运行情况

1、如果想使用Linux crontab(类似java quartz),需要先启动crontab.关于crontab的启动、关闭、重启、重新载入配置的方式如下:

/sbin/service crond start //启动服务

/sbin/service crond stop //关闭服务

/sbin/service crond restart //重启服务

/sbin/service crond reload //重新载入配置

2、crontab的命令介绍:

A:添加crontab的命令是:crontab -e   然后再打开的文件中编写你要写的内容(使用方式类似vi工具)

方法二是:直接编辑/etc/crontab 文件,即vi /etc/crontab,添加相应的任务

B:列出当前所有的调度任务:crontab -l

C:删除所有任务调度工作:crontab -r

D:任务调度的cron表达式

*  *  *  *  *  program

分  时  日  月  周        命令

第1列表示分钟1~59 每分钟用*或者 */1表示

第2列表示小时1~23(0表示0点)

第3列表示日期1~31

第4列表示月份1~12

第5列标识号星期0~6(0表示星期天)

第6列要运行的命令

当第1列 为 * 时表示每分钟都要执行 program,第2列为 * 时表示每小时都要执行程式,其余类推

当第1列为 a-b 时表示从第 a 分钟到第 b 分钟这段时间内要执行,第2列为 a-b 时表示从第 a 到第 b 小时都要执行,其余类推

当第1列为 */n 时表示每 n 分钟个时间间隔执行一次,第2列 为 */n 表示每 n 小时个时间间隔执行一次,其余类推

当第1列为 a, b, c,... 时表示第 a, b, c,... 分钟要执行,第2列 为 a, b, c,... 时表示第 a, b, c...个小时要执行,其余类推

30 21 * * * /usr/local/etc/rc.d/lighttpd restart    上面的例子表示每晚的21:30重启lighttpd 。

45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart     上面的例子表示每月1、10、22日的4 : 45重启lighttpd 。

10 1 * * 6,0 /usr/local/etc/rc.d/lighttpd restart     上面的例子表示每周六、周日的1 : 10重启lighttpd 。

0,30 18-23 * * * /usr/local/etc/rc.d/lighttpd restart    上面的例子表示在每天18 : 00至23 : 00之间每隔30分钟重启lighttpd 。

0 23 * * 6 /usr/local/etc/rc.d/lighttpd restart         上面的例子表示每星期六的11 : 00 pm重启lighttpd 。

* */1 * * * /usr/local/etc/rc.d/lighttpd restart           每一小时重启lighttpd

* 23-7/1 * * * /usr/local/etc/rc.d/lighttpd restart    晚上11点到早上7点之间,每隔一小时重启lighttpd

0 11 4 * mon-wed /usr/local/etc/rc.d/lighttpd restart  每月的4号与每周一到周三的11点重启lighttpd

0 4 1 jan * /usr/local/etc/rc.d/lighttpd restart   一月一号的4点重启lighttpd

----------------------------------------------

案例通过crontab在指定时间重启tomcat,或者监控web项目的启动与否来重启tomcat:

1、编写   crontabtongweb.sh(并赋予这个文件可执行的权限:chmod 777 crontabtongweb.sh)

代码如下:

#/usr/tomcat7/apache-tomcat-7.0.47/bin/shutdown.sh

#sleep 1m

#/usr/tomcat7/apache-tomcat-7.0.47/bin/startup.sh

#echo test >> $(date -d "today" +"%Y%m%d_%H%M%S").log

#echo test >> $(date -d "today" +"%Y%m%d").log

#kill tomcat pid

ps aux|grep tongweb|grep start|awk ‘{print $2}‘|xargs kill -9

#log

#echo ‘kill tongweb pid‘ >> $(date -d "today" +"%Y-%m-%d").log

#sleep 1m

/root/TongWeb5.0/bin/start.sh

echo $(date -d "today" +"%Y-%m-%d %H:%M:%S") tongweb restart >>/root/TongWeb5.0/crontab_log/css_restart.log

保存这些配置,然后给

2、编写crontabmonitor.sh(并给文件赋予可执行的权限)

#/usr/tomcat7/apache-tomcat-7.0.47/bin/shutdown.sh

#sleep 1m

#/usr/tomcat7/apache-tomcat-7.0.47/bin/startup.sh

#echo test >> $(date -d "today" +"%Y%m%d_%H%M%S").log

#echo test >> $(date -d "today" +"%Y%m%d").log

rm -f index.html

wget -T 10 -t 3 -q http://192.168.58.2/swordcms/

if [ ! -e index.html ]; then

#kill tomcat pid

ps aux|grep tongweb|grep start|awk ‘{print $2}‘|xargs kill -9

#log

#echo ‘kill tongweb pid‘ >> $(date -d "today" +"%Y-%m-%d").log

#sleep 1m

/root/TongWeb5.0/bin/start.sh

echo $(date -d "today" +"%Y-%m-%d %H:%M:%S") tongweb error restart >>/root/TongWeb5.0/crontab_log/css_restart.log

#else

#   echo $(date -d "today" +"%Y-%m-%d %H:%M:%S") tongweb normal >>/root/TongWeb5.0/crontab_log/css_normal.log

fi

保存配置

3、设置crontab,使用crontab -e编写如下内容:

* */59 * * * /root/TongWeb5.0/bin/crontabtongweb.sh

* */5 * * * /root/TongWeb5.0/bin/crontabmonitor.sh

4、将配置重新载入:

/sbin/service crond reload

/sbin/service crond restart

Linux crontab的使用方式,sh脚本的编写,sh脚本自动启动tomcat服务器,sh监控系统运行情况,布布扣,bubuko.com

时间: 2024-10-21 04:50:16

Linux crontab的使用方式,sh脚本的编写,sh脚本自动启动tomcat服务器,sh监控系统运行情况的相关文章

Linux之部署Zabbix监控系统

一. zabbix简介: zabbix是完全开源的工具,整合了cacti和nagios等特性 附:SNMP(udp 161  udp 162) 众多网络工具都支持此协议,比如常见路由交换,常见OS 其既可以做管理端也可以做被管理端 snmp协议大致有3个版本分别是v1 v2 v3 无论是v1 和 v2 的安全性是比较差的,因为传输是明文的, V3的认证密码用MD5/SHA摘要算法加密 很多工具支持网络管理的功能,而对于非网络设备(操作系统),可以完全抛开snmp这种不安全的架构来实现监控的.所以

监控系统脚本

告警系统 需求:使用shell定制各种个性化告警工具,但需要统一化管理.规范化管理. 思路:指定一个脚本包,包含主程序.子程序.配置文件.邮件引擎.输出日志等. 主程序:作为整个脚本的入口,是整个系统的命脉. 配置文件:是一个控制中心,用它来开关各个子程序,指定各个相关联的日志文件. 子程序:这个才是真正的监控脚本,用来监控各个指标. 邮件引擎:是由一个Php程序来实现,它可以定义发邮件的服务器.发邮件人以及收邮件人. 输出日志:整个监控系统要有日志输出. 要求:我们的机器角色多种多样,但是所有

监控系统主脚本

main.sh 作为主脚本,作为整个脚本的入口,也就是说,当我们执行监控系统的时候,最开始执行的就是 main.sh,如果想去执行 shares 下的监控脚本,直接在 main.sh 去调用就可以了 [[email protected] ~]# cat mon/bin/main.sh #!/bin/bash # 是否发邮件的开关 export send=1 export addr=`/sbin/ifconfig |grep -A1 'eth0' |grep addr: |awk '{print

Linux下安装Tomcat服务器

一.上传Tomcat服务器 二.安装Tomcat服务器 2.1.解压tomcat服务器压缩包 2.2.配置环境变量 确保Linux下安装好了JDK,自行百度Linux如何安装JDK 2.3.修改tomcat服务器的启动端口 修改将Tomcat服务器启动时使用的端口,例如改成7777 修改完server.xml文件之后,保存,退出. 谨记:Linux打开端口8080或是修改后的端口号 三.Tomcat服务器启动和关闭 3.1.启动Tomcat服务器 进入tomcat服务器的bin目录,然后执行".

Linux监控系统之Zabbix

Linux监控系统之Zabbix Zabbix介绍 Zabbix是由 Zabbix 是由 Alexei Vladishev 开发的一种网络监视.管理系统,基于 Server-Client 架构.可用于监视各种网络服务.服务器和网络机器等状态.整合了Catic和Nagios的特性. 使用各种 Database-end 如 MySQL, PostgreSQL, SQLite, Oracle 或 IBM DB2 储存资料.Server 端基于 C语言.Web 管理端 frontend 则是基于 PHP

linux crontab定时任务运行shell脚本(shell执行sql文件)

今天做个linux定时任务(每晚12点把表汇总). 顺便写个博客记录一下~~ 为什么用linux定时任务,而不是在项目加定时任务呢?原因就是防止因为各种原因项目崩溃..所以就用了更加稳定的linux定时任务(我是这么想的( ^_^ )). 起初我感觉很简单,以为顶多半小时就搞定了,,,结果从10点弄到12点半才搞定(主要是我英语太渣和数据库报错导致)... ︿( ̄︶ ̄)︿废话到此结束--------------- crontab 格式     * * * * *      XXX 分    时

php 执行计划任务方式之 linux crontab 执行命令

一.crond简介 crond 是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务 工具,并且会自动启动crond进程,crond进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务. Linux下的任务调度分为两类,系统任务调度和用户任务调度. 系统任务调度:系统周期性所要执行的工作,比如写缓存数据到硬盘.日志清理等.在/etc目录下有一个crontab文件,这个就是系统任务调

Linux Crontab Shell脚本实现秒级定时任务

一.编写Shell脚本crontab.sh #!/bin/bash step=1 #间隔的秒数,不能大于60 for (( i = 0; i < 60; i=(i+step) )); do $(php '/home/www/php/crontab/crontab.php') sleep $step done exit 0 二.crontab -e 输入以下语句,然后:wq 保存退出 # m h dom mon dow command * * * * * /home/www/php/crontab

linux crontab 定时任务计划

crontab [-u username] [-l|-e|-r] 参数: -u: 只有root才能进行这个任务,也即帮其他用户新建/删除crontab工作调度; -e: 编辑crontab 的工作内容; -l: 查阅crontab的工作内容; -r: 删除所有的crontab的工作内容,若仅要删除一项,请用-e去编辑. 范例一:用dmtsai的身份在每天的12:00发信给自己 crontab -e #此时会进入vi的编辑界面让你编辑工作.注意到,每项工作都是一行. 0    12   *   *