我在Linux环境中运行shell脚本,以创建一些日志(动态日志文件)作为文本文件。
我希望在特定时间之后将创建的所有日志文件存储到单个文件夹中。
那我怎么能这样做?任何人都可以建议一些命令吗?
提前致谢。
答案 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工作轻松完成。