zl程序教程

您现在的位置是:首页 >  系统

当前栏目

Shell学习笔记之在linux定时任务crontab中使用nohup不输出到nohup文件

2023-09-27 14:23:26 时间

0x00 概述

在linux定时任务crontab中使用nohup不输出到nohup文件,这时候需要做个重定向,将输出结果重定向到nohup文件即可.

 

0x02  增加重定向

最初的shell脚本,注意该脚本在命令行正常运行是可以把输出自动只想nohup.out文件的

#!/bin/bash
ps -ef|grep test.py |grep -v "grep" # 判断脚本是否启动 if [ $? -ne 0 ] #如果没有 then echo "start process....." nohup python /home/hlz/Desktop/test.py & # 执行启动脚本命令,nohup输出是追加到日志文件,这样不会覆盖掉之前的日志文件 else echo "runing....." fi

在命令行直接sh这个脚本文件, 脚本的输出会自动定向到脚本同级目录的nohup.out文件内;

 

但是当把这个脚本挂载到定时任务crontab内, 脚本的输出则不会定向到脚本同级目录的nohup.out文件内;

这时候需要做个重定向,注意两个脚本的区别:

#!/bin/bash
ps -ef|grep test.py |grep -v "grep" # 判断脚本是否启动 if [ $? -ne 0 ] #如果没有 then echo "start process....." nohup python /home/hlz/Desktop/test.py >> /home/hlz/Desktop/test.log 2>&1 & # 执行启动脚本命令,nohup输出是追加到日志文件,这样不会覆盖掉之前的日志文件 else echo "runing....." fi

需要加入指定重定向的文件绝对路径,后续该脚本定时启动的时候无论重启多少次,脚本的输出都会重定向到这个文件内.