【发布时间】:2014-06-06 01:09:28
【问题描述】:
我的要求是读取一个使用 cron 作业中的 shell 脚本不断更新的大文件。我会一直读到最后一行,然后停止这个过程。下次 cron 作业开始时,作业应该从上次完成的位置读取。任何建议如何在 shell 脚本中执行此操作。
我正在使用 Solaris Unix。
【问题讨论】:
-
保存旧文件大小,然后使用
tail -c +$filesize logfile。 -
为什么要用
cron使事情复杂化?启动一个进程并让它读到文件的末尾,然后休眠一段时间(保持文件打开)。当它醒来时,从它进入睡眠时所在的文件位置读取更多数据。 -
或管道
tail -f,它会自动执行“读取、睡眠”循环。