阅读目录

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

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