unix - 如何实时读取目录中创建的 Unix 日志?
问题描述
我有几个使用主(run_all.sh,内容如下)脚本调用的脚本(sh)。因此,每当下标运行时,它都会在日志目录中创建日志。
sh run_one.sh
if [ $? -gt 0 ] ; then
exit 1
fi
sh run_two.sh
if [ $? -gt 0 ] ; then
exit 1
fi
sh run_three.sh
if [ $? -gt 0 ] ; then
exit 1
fi
例如,我运行run_all.sh
第一个脚本run_one.sh
开始执行并在日志目录中创建一个日志文件 ( log_run_one.log
)。因此,为了监控我使用的日志:
tail -f run_one.log
是否可以制作一个在日志目录中运行的脚本(sh)来检查是否创建了新文件并对创建tail -f file_name.log
的新日志/文件执行操作。它应该能够监视新文件/日志的日志目录,并tail
在创建它们时一个接一个地对它们执行操作。我应该从哪里开始?任何帮助将不胜感激。
我看起来通过构建一个利用一些 rsync 属性来监视目录的服务器,在任何其他编程语言中都会更容易。
解决方案
您可以创建一个 cron 作业来运行查找以检查是否在日志文件夹中创建了任何新文件(查看下面关于如何使用 find 和 xargs 在过去几天/时间内查找和列出新文件的文章)然后运行上面命令提供的日志文件的 tail -f列表
推荐阅读
- php - 代码点火器 Jquery。如何使用电子商务循环将数据显示到卡片中
- macos - 在 Mac OS 上寻找系统范围的自动替换
- javascript - 根据属性值对数组进行排序
- python - 如何将此数组转换为带点分隔的时间序列
- bootstrap-4 - 个人资料照片和 Bootstrap 主题
- r - R ggplot - 广义函数中的箱线图
- python - pyvin:解析 VIN 号
- python-3.x - 运行 Speech_recognition 模块时出错
- ionic-framework - 如何在 ion-avatar 周围创建高亮显示它已被点击?
- ruby - 匹配返回另一个输出