将运行时日志存储在文件夹中

时间:2014-11-04 07:55:26

标签: linux shell command

我在Linux环境中运行shell脚本,以创建一些日志(动态日志文件)作为文本文件。

我希望在特定时间之后将创建的所有日志文件存储到单个文件夹中。

那我怎么能这样做?任何人都可以建议一些命令吗?

提前致谢。

2 个答案:

答案 0 :(得分:0)

在脚本中,您可以将该目录定义为变量,并且可以在脚本中使用该目录。

#!/bin/bash

LOG_DIR=/tmp/logs
LOG_FILE=$LOG_DIR/log_file.$$ ## $$ will create the different log file for each and every run
                              ## You can also do it by using some time stamp using date command.

<Your commands>  >> $LOG_FILE

答案 1 :(得分:0)

这取决于你的情况:

[如果您的日志文件很小,建议] 您可能只想添加一个cron作业来备份日志,并将其作为快照压缩/ tar到另一个文件夹。由于日志文件很小,即使是zip / tar,也可能需要花费很多年才能填满你的硬盘。

[建议您的日志文件很大] 在生成日志的脚本中,您可能希望在周日到周六之间轮换几个索引文件,例如log.0到log.6,每个文件一周,每周一天。并且您可以使用另一个脚本来备份昨天的日志(这样它就不会在日志生成器和日志使用者之间产生竞争条件,即日志移动器/复制器)。您可以制定策略,说明仍然存在多少天的备份,以及应该丢弃多长时间。

昨天的日志搬运工/复印机可以通过cron工作轻松完成。