#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文件

最新文章

  1. VC++ CStatic控件背景透明且改变其文本时,文字重叠解决方法
  2. 4.struts2中的文件上传,下载
  3. dataview将excel表格的数据导出成txt文件
  4. weinre使用
  5. asp.net web常用控件FileUpload(文件上传控件)
  6. petapoco IsNew
  7. angularJs:动态效果之:显示与隐藏(该例对比了普通赋值,层次赋值,事件的写法对比)
  8. 使用tomcat7创建异步servlet
  9. leetcode72. Edit Distance
  10. c# 哈希表集合;函数
  11. 教你使用vim表白
  12. Spring boot国际化
  13. 20175303 2018-2019-2 《Java程序设计》第2周学习总结
  14. [报错]ios开发 failed to read file attributes for
  15. iOS UI基础-9.0 UITableView基础
  16. C#:CsvReader读取.CSV文件(转换成DataTable)
  17. python之路---03 整型 bool 字符串 for循环
  18. PHP 函数获取文件名
  19. 在ASP.NET MVC中实现本地化和全球化
  20. Android开发:setAlpha()方法和常用RGB颜色表----颜色, r g b分量数值(int), 16进制表示 一一对应

热门文章

  1. shell脚本学习(四)
  2. Oberon程序设计—目录
  3. Leetcode016 3Sum Closest
  4. Python库 - import matplotlib.pyplot as plt 报错问题
  5. MSXML insertBefore(IXMLDOMNode *newChild, VARIANT refChild) 传参
  6. eclipse设置java虚拟机内存大小
  7. Adobe flash CC 汉化破解方法
  8. 正则表达式 替换 &lt;img &gt; 标签
  9. jmeter3 测试soap协议-webservice接口
  10. 还原openstack配置文件的方法