处理nohup命令生成的大文件

钱铜 · · 1106 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

工作的时候,用到了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

有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:钱铜

查看原文:处理nohup命令生成的大文件

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1106 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传