在 Debian 系统中,使用 nohup
命令运行程序时,输出会被重定向到名为 nohup.out
的文件。为了归档这些日志,你可以使用以下方法:
tar
命令创建一个压缩归档文件:tar -czvf nohup_logs.tar.gz nohup.out
这将创建一个名为 nohup_logs.tar.gz
的压缩归档文件,其中包含 nohup.out
文件。
find
命令查找特定时间范围内的日志文件,并使用 tar
命令将它们归档:find /path/to/logs -name "nohup.out.*" -mtime 7 -exec tar -czvf logs_archive.tar.gz {} +
这将查找过去 7 天内的所有 nohup.out.*
文件,并将它们归档到一个名为 logs_archive.tar.gz
的压缩文件中。
logrotate
工具自动归档和压缩日志文件:首先,创建一个名为 /etc/logrotate.d/myapp
的配置文件,并添加以下内容:
/path/to/logs/nohup.out {
daily
rotate 7
compress
missingok
notifempty
create 0640 user group
}
这将每天对 nohup.out
文件进行归档,保留最近 7 天的归档文件,并对归档文件进行压缩。请根据你的需求修改路径、用户和组。
之后,确保 logrotate
服务已启用并正在运行:
sudo systemctl enable logrotate
sudo systemctl start logrotate
现在,logrotate
将根据配置文件自动归档和压缩 nohup.out
文件。