linux系统定时重启tomcat
#touch auto-start.sh
[root@Linux opt]# echo $LANG
en_US.UTF-8
#vim auto-start.sh
#!/bin/sh
export LANG="en_US.UTF-8" 设置编码格式,不然日志会出现中文字符显示乱码情况crontab启动的任务没有获取系统的环境变量,导致中文乱码
解决办法:
在执行的脚步中添加编码方式或者添加对应的环境变量
export JAVA_HOME=/usr/java/jdk1.7.0_21/ //如果不选择这个语句,项目可能不能自行启动报错,提示无法加载到java_home的运行环境
pid=`ps aux | grep tomcat_ezttv | grep -v grep | grep -v retomcat | awk '{print $2}'` //这步grep要设置成具体项目名称,如果单纯设置tomcat整个服务器tomcat项目都会关闭
echo $pid //输出pid内容
if [ -n "$pid" ]
then
{
echo ===========shutdown================
/usr/local/tomcat_ezttv/bin/shutdown.sh
sleep 1
pid=`ps aux | grep tomcat_ezttv | grep -v grep | grep -v retomcat | awk '{print $2}'`
if [ -n "$pid" ]
then
{
sleep 1
echo ========kill tomcat==============
kill -9 $pid
}
fi
sleep 1
echo ===========startup.sh==============
/usr/local/tomcat_ezttv/bin/startup.sh
}
else
echo ===========startup.sh==============
/usr/local/tomcat_ezttv/bin/startup.sh
fi
脚本设置chmod +x auto-start.sh 添加执行权限
启动crontab的权限
service crond start 启动服务
service crond status 服务crontab 启动的状态
#crontab -e
05 11 * * 4 /opt/auto-start.sh>>/opt/auto.log
设置定点启动时,需要设置分钟 00 05 代表5点的意思
4指周四 星期从0算起
分、时、日、月、星期 执行脚本>>输出日志
下面是crontab的格式;
分<>时<>日<>月<>星期<>要运行的命令
其中<>表示空格
#cat auto.log
20488
===========shutdown================
========kill tomcat==============
===========startup.sh==============
第1列分钟1~5 9
第2列小时1~2 3(0表示子夜)
第3列日1~3 1
第4列月1~1 2
第5列星期0~6(0表示星期天)
第6列要运行的命令
在这些域中,用横杆 - 来表示一个时间范围,如星期一至星期五某个动作,星期域就用1-5来表示
还可以用,隔开两个时间断,如星期一和星期四,星期域用1,4表示
可以用*来表示连续的时间断,如果某个时间域没有特别的限定,也可以用*填入
该文件的每一个条目必须含有5个时间域,而且每个时间域之间用 空格 分隔
该文件的所有注释行要在行首用#来表示
-crontab条目举例
30 21 * * * /apps/bin/cleanup.sh 表示每晚的21:30运行/apps/bin 目录下的cleanup.sh
0,30 18-23 * * * /apps/bin/dbcheck.sh 每天的18:00 至 23:00之间运行/apps/bin目录下的d'b'che'c'k.sh
45 4 1,10,22 * * /apps/bin/backup.sh
上面的例子表示每月1、1 0、2 2日的4 : 4 5运行/ a p p s / b i n目录下的b a c k u p . s h。
10 1 * * 6,0 /bin/find -name "core" -exec rm {} \;
上面的例子表示每周六、周日的1 : 1 0运行一个f i n d命令。
0,30 18-23 * * * /apps/bin/dbcheck.sh
上面的例子表示在每天1 8 : 0 0至2 3 : 0 0之间每隔3 0分钟运行/ a p p s / b i n目录下的d b c h e c k . s h。
0 23 * * 6 /apps/bin/qtrend.sh
上面的例子表示每星期六的11 : 0 0 p m运行/ a p p s / b i n目录下的q t r e n d . s h。
你可能已经注意到上面的例子中,每个命令都给出了绝对路径。当使用c r o n t a b运行s h e l l
脚本时,要由用户来给出脚本的绝对路径,设置相应的环境变量。记住,既然是用户向c r o n
提交了这些作业,就要向c r o n提供所需的全部环境。
当使用crontab 运行shell脚步时,要由用户来给出脚步的绝对路径,设置相应的环境变量。
如果cron不能运行相应的脚步,用户将会收到一个邮件说明其中的原因。
-crontab命令选项
crontab命令的一般形式:
crontab [-u user] -e -l -r
其中:
-u 用户名
-e 编辑crontab文件
-l 列出crontab文件内容
-r 删除crontab文件
最新文章
- VC++ CStatic控件背景透明且改变其文本时,文字重叠解决方法
- 4.struts2中的文件上传,下载
- dataview将excel表格的数据导出成txt文件
- weinre使用
- asp.net web常用控件FileUpload(文件上传控件)
- petapoco IsNew
- angularJs:动态效果之:显示与隐藏(该例对比了普通赋值,层次赋值,事件的写法对比)
- 使用tomcat7创建异步servlet
- leetcode72. Edit Distance
- c# 哈希表集合;函数
- 教你使用vim表白
- Spring boot国际化
- 20175303 2018-2019-2 《Java程序设计》第2周学习总结
- [报错]ios开发 failed to read file attributes for
- iOS UI基础-9.0 UITableView基础
- C#:CsvReader读取.CSV文件(转换成DataTable)
- python之路---03 整型 bool 字符串 for循环
- PHP 函数获取文件名
- 在ASP.NET MVC中实现本地化和全球化
- Android开发:setAlpha()方法和常用RGB颜色表----颜色, r g b分量数值(int), 16进制表示 一一对应
热门文章
- shell脚本学习(四)
- Oberon程序设计—目录
- Leetcode016 3Sum Closest
- Python库 - import matplotlib.pyplot as plt 报错问题
- MSXML insertBefore(IXMLDOMNode *newChild, VARIANT refChild) 传参
- eclipse设置java虚拟机内存大小
- Adobe flash CC 汉化破解方法
- 正则表达式 替换 <;img >; 标签
- jmeter3 测试soap协议-webservice接口
- 还原openstack配置文件的方法