在 CentOS 系统中,使用 nohup
命令运行程序时,输出通常会被重定向到一个名为 nohup.out
的文件中。随着时间的推移,这个文件可能会变得非常大,因此需要定期清理。以下是一些清理 nohup.out
日志的方法:
查看日志文件大小:
ls -lh nohup.out
清空日志文件:
> nohup.out
或者使用 truncate
命令:
truncate -s 0 nohup.out
logrotate
logrotate
是一个系统工具,用于管理日志文件的轮转和清理。你可以配置 logrotate
来自动处理 nohup.out
文件。
创建或编辑 logrotate
配置文件:
sudo nano /etc/logrotate.d/myapp
添加以下内容:
/path/to/your/nohup.out {
daily
rotate 7
compress
missingok
notifempty
create 640 root root
}
解释:
daily
:每天轮转一次日志文件。rotate 7
:保留最近7天的日志文件。compress
:压缩旧的日志文件。missingok
:如果日志文件不存在,不会报错。notifempty
:如果日志文件为空,不进行轮转。create 640 root root
:创建新的日志文件,权限为640,属主和属组为root。测试配置:
sudo logrotate -f /etc/logrotate.d/myapp
cron
定时任务你可以设置一个 cron
定时任务来定期清理 nohup.out
文件。
编辑 crontab
文件:
crontab -e
添加以下内容:
0 0 * * * > /path/to/your/nohup.out
解释:
0 0 * * *
:每天午夜执行一次。> /path/to/your/nohup.out
:清空 nohup.out
文件。你可以编写一个简单的脚本来自动清理日志文件,并将其添加到 cron
定时任务中。
创建清理脚本:
sudo nano /usr/local/bin/clean_nohup.sh
添加以下内容:
#!/bin/bash
LOG_FILE="/path/to/your/nohup.out"
if [ -f "$LOG_FILE" ]; then
> "$LOG_FILE"
fi
赋予脚本执行权限:
sudo chmod +x /usr/local/bin/clean_nohup.sh
编辑 crontab
文件:
crontab -e
添加以下内容:
0 0 * * * /usr/local/bin/clean_nohup.sh
通过以上方法,你可以有效地管理和清理 CentOS 系统中使用 nohup
命令生成的日志文件。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
相关推荐:centos nohup日志怎么清理