1.首先我们在目标目录下写一个.sh脚本
touch hello.sh
vim hello.sh
然后对此脚本进行授权chmod 777 hello.sh
2.编辑hello.sh文件
#!/bin/bash
pid=$(ps aux|grep java | grep system-course2.2.0.jar | awk '{print $2}')
echo "------------"
count=`ps -ef | grep java | grep system-course2.2.0.jar | grep -v "grep" | wc -l`
echo $count
if [ $count -eq 0 ];then
echo "直接重启成功"
source /etc/profile;nohup java -jar /data/sys/system-course2.2.0.jar>>/data/sys/m`date +%Y-%m-%d`.out 2>&1 &
else
kill -9 $pid
sleep 10
echo "定时重启成功"
source /etc/profile;nohup java -server -Xmx2048m -Xms1536m -Xmn1g -Xss1024k -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+DisableExplicitGC -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=70 -XX:+ScavengeBeforeFullGC -XX:+CMSParallelRemarkEnabled -XX:+CMSClassUnloadingEnabled -XX:+ExplicitGCInvokesConcurrent -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCApplicationConcurrentTime -XX:+PrintHeapAtGC -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/data/sys/logs/heapdump.hprof -XX:-OmitStackTraceInFastThrow -Xloggc:/data/sys/logs/gc.log -Djava.util.Arrays.useLegacyMergeSort=true -jar /data/sys/system-course2.2.0.jar>>/data/sys/s`date +%Y-%m-%d`.out 2>&1 &
fi
3.确定脚本中个文件目录是否存在,需要启动的内容是否有权限,如果没有权限的话先授权
4.设置定时任务
crontab -e
每1分钟执行一次
* * * * *
每小时的第3和第15分钟执行
3,15 * * * *
每隔两天的上午8点到11点的第3和第15分钟执行
3,15 8-11 */2 * *
每周一上午8点到11点的第3和第15分钟执行
3,15 8-11 * * 1
这五个内容分别对应:分、时、日、月、周