webdevqa.jp.net

Launchedを使用してPythonスクリプトを呼び出しますか?

私の最初の質問からの続きとして...

OSXでログファイルを定期的にバックアップしますか?

OSXコンピューターとジェイルブレイクされたiPhoneでログファイルをバックアップしようとしています。 LaunchDがソリューションとして推奨され、後にいくつかのGoogle検索で、LingOnが使用するツールであることが明らかになりました。

出力(フィールドに入力した後)は、次のPListを提供します。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.Apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>com.ash.MySuperLaunchd</string>
    <key>ProgramArguments</key>
    <array>
        <string>python</string>
        <string>/Users/ash/Desktop/sendemail.py</string>
    </array>
    <key>StartInterval</key>
    <integer>3600</integer>
</dict>
</plist>

これで、ターミナルでpythonスクリプトを呼び出して実行すると、必要な添付ファイルが記載された電子メールが受信トレイに正常に送信されます。

LaunchDは起動しませんが、理由はわかりません。

4
Ashley

エージェントをロードする必要があります。再ログインするか、launchctl load /path/to/file.plist

RunAtLoadはデフォルトでfalseであるため、スクリプトはロードされてからStartInterval秒(この場合は3600)で初めて実行されます。

ProgramArgumentsのパスは、スクリプトの永続的な場所を指す必要があるため、おそらく~/Desktop/にあるべきではありません。ターゲットスクリプトは実行可能である必要はありません。しかし、コメントで@DanielBeckによって正しくトラブルシューティングされたように、たとえばpython /Users/ash/Desktop/sendemail.pyが最初にできること、およびShebang行が正しいことを確認してください。

1
Lri