【发布时间】:2014-11-04 07:55:26
【问题描述】:
我在 Linux 环境中运行一个 shell 脚本来创建一些日志(动态日志文件)作为文本文件。
我想在某个特定时间后将创建的所有日志文件存储到一个文件夹中。
那我该怎么做呢?谁能建议一些命令?
提前致谢。
【问题讨论】:
我在 Linux 环境中运行一个 shell 脚本来创建一些日志(动态日志文件)作为文本文件。
我想在某个特定时间后将创建的所有日志文件存储到一个文件夹中。
那我该怎么做呢?谁能建议一些命令?
提前致谢。
【问题讨论】:
在脚本中,您可以将该目录定义为变量,并且可以在整个脚本中使用该目录。
#!/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
【讨论】:
这真的取决于你的情况:
[如果您的日志文件很小,建议使用] 您可能希望通过添加一个 cron 作业来备份您的日志,然后将其压缩/tar 到另一个文件夹中,作为快照。由于日志文件很小,即使是 zip/tar 文件也可能需要很多年才能填满您的硬盘。
[如果您的日志文件很大,建议使用] 在生成日志的脚本中,您可能希望轮换几个索引文件,例如 log.0 到 log.6,每个文件对应一个星期,从星期日到星期六。您可以使用另一个脚本来备份昨天的日志(这样它就不会在日志生产者和日志消费者之间出现竞争条件,即日志移动器/复制器)。您可以制定策略来确定仍存在多少天的备份,以及应该丢弃多长时间。
昨天的日志移动器/复制器可以通过 cron 作业轻松完成。
【讨论】: