工作的时候,用到了Golang开发项目,将Golang打包(go build)生成执行文件,之后用nohup命令运行
nohup ./gopack &
假设gopack
是生成的执行文件,上面的命令执行后,要在当前目录下生成一个nohup.out
文件,在不停下进程的情况下,nohup.out
文件会越来越大,于是就打算对它切分另存并清空。
#!/bin/bash
thepath=/data/testshell
if [ ! -d "$thepath/log/" ];then
mkdir $thepath/log
fi
chmod -R 777 $thepath/log
if [ -f "$thepath/nohup.out" ];then
cpDate=`date -d "-1 day" "+%Y%m%d"`
cp $thepath/nohup.out $thepath/log/log_${cpDate}.log
cat /dev/null > $thepath/nohup.out
split -b 512 -d -a 4 $thepath/log/log_${cpDate}.log $thepath/log/log_${cpDate}_
rm -fr $thepath/log/log_${cpDate}.log
fi
下面两句是先把nohup.out
复制,然后清空:
cp $thepath/nohup.out $thepath/log/log_${cpDate}.log
cat /dev/null > $thepath/nohup.out
用split
命令对另存的文件切分
split -b 512 -d -a 4 $thepath/log/log_${cpDate}.log $thepath/log/log_${cpDate}_
最后删除另存的文件:
rm -fr $thepath/log/log_${cpDate}.log
有疑问加站长微信联系(非本文作者)