Linxu定时任务删除任务和启动

1.首先编写要实现的任务脚本

#!/bin/bash

#增加环境变量导入
. /etc/profile
. ~/.bash_profile

#kill
echo 'kill进程'
ps -ef | grep /kafkadata-MY/kafkadata-MY.jar | grep -v grep | awk '{print $2}' | xargs kill -9

#启动
echo '重新启动'
cd /kafkadata-MY/
nohup /opt/jdk1.7.0_67/bin/java -jar /kafkadata-MY/kafkadata-MY.jar >/dev/null 2>>/kafkadata-MY/nohup.out&

  这是一个shell脚本,此脚本用来执行一个jar包, 首先杀死源jar包的进程id,  ps -ef | grep jar包 获取jar包进程参数, grep -v grep 为去除包含grep的进程行  awk '{print $2}'为打印第二个字段,即进程id,

xargs命令可以通过管道接受字符串,并将接收到的字符串通过空格分割成许多参数(默认情况下是通过空格分割) 然后将参数传递给其后面的命令,作为后面命令的命令行参数。kill -9 杀死进程.

nohup java -jar jar包 >/dev/null 2>>/nohup.out&  >/dev/null是将日志输出指向空, 2为错误输出指向nohup.out,>>代表不创建文件直接将输出拼接在后面,&为挂载运行

2.crontab定时任务

安装就不说了.

crontab -l 列出当前用户的任务

crontab -e编辑当前用户任务

service crond reload为重新载入配置

0 5 * * * /bin/sh /kafkaData-MY.sh

  这是一个定时任务,每天5点执行前面的shell脚本.

posted @ 2020-05-26 15:28  孤身!  阅读(287)  评论(0编辑  收藏  举报