nohup执行的日志日切解决版本

这篇博客介绍了在CentOS 7.6系统中使用nohup命令进行日志切割的实践过程,包括nohup命令的正确用法和如何设置定时任务调度。作者强调了在nohup命令中使用>>符号的重要性,并指出该方案已在个人机器上验证,但未在项目环境中应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

完美日切,内存中的日志文件完全清空!!!找了很久才找到的日切版本,自己机器已验证,项目环境还未验证!!!
1、本人系统为CentOS Linux release 7.6.1810

[root@yarcl ~]# /etc/redhat-release 
/etc/redhat-release:行1: 未预期的符号 `(' 附近有语法错误
/etc/redhat-release:行1: `CentOS Linux release 7.6.1810 (Core) '
[root@yarcl ~]#

PS:虽然显示权限不够,但是还是可以看出来是什么系统的

2、nohup命令

nohup java .....省略一万点内容.....
    --spring.profiles.active=${profiles} --isJar=true >> ${logPath}/${ModuleName}.log 2>&1 &

PS:
1)注意 --isJar=true后面采用的 >> 符号
2)执行命令最后面是2>&1 & 最后的&表示是后台运行

3、定时任务调度

1 0 * * * sh /home/work/blog/blog-0.0.1/bin/split.sh > /home/work/blog/blog-0.0.1/logs/crontab-`date +"\%Y\%m\%d"`.log

4、split.sh脚本

#!/bin/bash
echo "start split log format!"
### 使用 `nohup` 命令后台运行 Git 操作 在 Linux 或类 Unix 系统中,`nohup` 是一种常用工具,用于使进程忽略挂起信号(SIGHUP),从而允许它在用户退出 Shell 或关闭终端后继续运行。对于长时间运行的任务,例如某些复杂的 Git 操作,可以利用 `nohup` 将其置于后台执行。 以下是具体实现方法: #### 1. **基本语法** `nohup` 的基础用法如下: ```bash nohup command & ``` 其中 `command` 表示需要后台运行的具体命令[^1]。 #### 2. **Git 操作实例** 假设有一个耗时较长的 Git 拉取操作,可以通过以下方式将其放入后台运行: ```bash nohup git pull origin main > git_pull.log 2>&1 & ``` - `git pull origin main`: 执行从远程仓库拉取最新更改的操作。 - `> git_pull.log`: 将标准输出重定向到文件 `git_pull.log` 中保存。 - `2>&1`: 将错误输出也重定向至同一日志文件。 - `&`: 让该命令进入后台运行。 这样即使关闭当前终端窗口或断开连接,Git 操作仍会持续完成并记录结果于指定的日志文件中[^3]。 #### 3. **查看后台任务状态** 如果想要检查由 `nohup` 启动的任务是否仍在运行或者获取相关信息,可使用以下命令: ```bash ps aux | grep git ``` 此命令可以帮助确认是否有任何与 Git 相关的过程正在活动当中[^2]。 另外也可以查阅之前定义好的日志文档来跟踪进度或是排查可能出现的问题: ```bash tail -f git_pull.log ``` #### 4. **终止后台中的 Git 进程** 当不再需要这个背景下的 Git 工作时,则可通过找到对应 PID (Process ID),再借助 kill 来停止它: ```bash kill $(pgrep -fl git|awk '{print $1}') ``` 以上即为通过 nohup 实现 Git 脚本自动化以及管理技巧介绍。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值