Shell crontab python workon 等常用脚本启动
- crontab 执行shell、python脚本、虚拟环境、workon
-
- crontab
-
- 常用命令
- contab 规则
- 执行python
- 执行shell
- shell 脚本
-
-
- 按进程名杀死线程
- 结合kill杀死所有指定进程名 一行
- 重启 test 进程
- killall杀死进程
- pkill杀死进程
-
crontab 执行shell、python脚本、虚拟环境、workon
crontab
常用命令
- crontab -e 编辑
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200508011246746.png)
- crontab -l 查看
- crontab -r 清除
- 查看 crontab 日志
tail -f /var/log/cron
contab 规则
用户所建立的crontab文件中,每一行都代表一项任务,每行的每个字段代表一项设置,它的格式共分为六个字段,前五段是时间设定段,第六段是要执行的命令段,格式如下:
minute hour day month week command
其中:
1、minute: 表示分钟,可以是从0到59之间的任何整数;
2、hour:表示小时,可以是从0到23之间的任何整数;
3、day:表示日期,可以是从1到31之间的任何整数;
4、month:表示月份,可以是从1到12之间的任何整数;
5、week:表示星期几,可以是从0到6之间的任何整数,这里的0代表星期日;
6、command:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件。
执行python
- python 虚拟环境
workon 在 crontab 里面执行会有问题,所以直接使用虚拟环境中的 python 启动脚本,如下
run_story.sh
cd /home/PyProject/scheduled_story
# source /usr/local/python/bin/virtualenvwrapper.sh
# sleep 3
# workon learnpy
# sleep 2
/home/PyProject/envs/learnpy/bin/python story.py
执行shell
redis_start.sh 重启redis
killall redis-server
echo "redis has stop..."
echo "sleep 5s"
sleep 5
sudo systemctl start redis
shell 脚本
- 启动java脚本
nohup java -jar alisms-0.0.1-SNAPSHOT.jar &
yes | command or script
按进程名杀死线程
#!/bin/sh
PROCESS=`ps -ef|grep yace|grep -v grep|awk '{print $2}'`
for i in $PROCESS
do echo "KILL the yace-client "kill -9 $i
done
sh /home/baoleiji/yace/run_yace.sh
结合kill杀死所有指定进程名 一行
ps -ef | grep process_name | grep -v grep | awk '{print $2}' | xargs kill -9
重启 test 进程
PROCESS=`ps -ef|grep test|grep -v grep|grep -v PPID|awk '{ print $2}'`
for i in $PROCESS
doecho "Kill the python process [ $i ]"kill -9 $i
done
sleep 15
nohup python test.py >test_log.txt 2>&1 &
killall杀死进程
要给完整的进程名
killall process_name
pkill杀死进程
pkill process_name