Geektool和尾巴跟随

时间:2011-11-12 16:12:55

标签: macos unix cron system tail

我有从系统日志中捕获的格式化URL的LIVE列表,并输出到不同的日志文件。

  

tail -F /var/log/system.log | grep --line-buffered“query =”| sed -le“s /.* query = //”| sed -le“s / \”// g“| sed -le”s /.$/ /“>> /tmp/urls.log

如何像cronjob一样自动启动它,但每次登录时只运行一次。

原始日志文件是这样的:

  

x yy zzz query =“www.yahoo.com。”

整晚都在苦苦挣扎!谢谢!

1 个答案:

答案 0 :(得分:0)

使用LaunchAgent应该可行。使用以下内容创建.plist文件:

<?xml version="1.0" encoding="UTF-8"?>
http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        <key>label</key>
        <string>name you want to give it</string>

        <key>ProgramArguments</key>
          <array>
            <string>/bin/bash</string>
            <string>/path/to/your/script.sh</string>
          </array>       


         <key>RunAtLoad</key>
         <true/>

        <key>OnDemand</key>
        <false/>

        <key>KeepAlive</key>
        <false/>
</dict>
</plist>

将此文件保存到~/Library/LaunchAgents。然后,您需要通过launchctl load -wF /path/to/launch.plist加载启动。要确保它已正确加载,请检查它是否在launchctl list的输出中。

有关详细信息,请查看Apple Developer 1Apple Developer 2