1.因为我的一个目录下有好多jar,所以先把日志输出到别的地方
nohup java -jar xxx.jar >>../dataLog/consume/nohup.log 2>&1 &
2>&1 标准输出和错误输出都追加到别的地方 ,一定要用>>追加 要不把回头转移nohup文件的时候看着清空了 ,再次有日志的时候他还是从上次的位置追加文件相当于没有清空 大小还是上次的大小
2.创建定时脚本
cat /mnt/yt/dataLog/consume/nohup.log >> /mnt/yt/dataLog/consume/nohup_`date -d "day" "+%Y-%m-%d"`.log
cat /dev/null > /mnt/yt/dataLog/consume/nohup.log
定时追加复制到 备份目录 清理nohup
这里可能会有几个问题
①、脚本目录没有权限 执行脚本
chmod a+x xxx.sh 即可
②、复制后的文件带有问号
换行的时候 先加个空格 在换行即可
③、bash:$'\r': command not found
有可能你的脚本是在windos上编辑的
Windows 风格的结束符(\r\n) 与 unix 风格的结束符(\n)冲突,所以需要转换。
# 安装 dos2unix 工具 yum -y install dos2unix
# 转换文件 dos2unix #.sh 即可
3、创建定时器 crontab -e 添加定时器即可