文件修改后读取文件最后一行
Read last line of file after the file was modified
我在读取 Linux Ubuntu 中文件的最后一行时遇到问题。
我有一个名为 auth.log 的文件,我试图在添加新行后(修改文件后)最后一行读取它。
我知道我需要使用
tail -1 /var/log/auth.log
获取最后一行,但我不知道每次修改文件时如何检查文件。
阅读最后一行后,我需要检查它是否包含 "login" 单词,如果是,我需要通过电子邮件发送这一行。据我所知,grep 需要与邮件命令一起使用。
任何帮助都会很棒,谢谢!
使用 tail -f
持续监控文件,也许这样的方法对您有用:
while read -r; do
echo "$REPLY" | mail your@email.address
done < <(tail -f /var/log/auth.log | grep --line-buffered login)
但这将 运行 在后台持续进行,而不是作为 cron 作业或其他东西。
我在读取 Linux Ubuntu 中文件的最后一行时遇到问题。
我有一个名为 auth.log 的文件,我试图在添加新行后(修改文件后)最后一行读取它。
我知道我需要使用
tail -1 /var/log/auth.log
获取最后一行,但我不知道每次修改文件时如何检查文件。
阅读最后一行后,我需要检查它是否包含 "login" 单词,如果是,我需要通过电子邮件发送这一行。据我所知,grep 需要与邮件命令一起使用。
任何帮助都会很棒,谢谢!
使用 tail -f
持续监控文件,也许这样的方法对您有用:
while read -r; do
echo "$REPLY" | mail your@email.address
done < <(tail -f /var/log/auth.log | grep --line-buffered login)
但这将 运行 在后台持续进行,而不是作为 cron 作业或其他东西。