nextcloudpiのdyndnsレコードを更新するためのPythonスクリプトをインストールしました:https://github.com/Domain-Connect/DomainConnectDDNS-Pythonターミナルからプログラムを実行すると、domain-connect-dyndns update --all
うまく機能します。ここで、systemdサービスとサービスを呼び出すタイマーを作成しました。このサービスは非常に単純なbashファイルを呼び出しています。
#!/bin/bash
/home/pi/.local/bin/domain-connect-dyndns update --all
サービスの実行を確認すると、次のようになります。
pi@nextcloudpi:~ $ systemctl status ddns.service
● ddns.service - Update IONOS DNS Record
Loaded: loaded (/etc/systemd/system/ddns.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Sun 2020-10-18 20:20:10 BST; 45s ago
Process: 18391 ExecStart=/bin/bash /home/pi/own-bashscripts/execddns.sh (code=exited, status=1/FAILURE)
Main PID: 18391 (code=exited, status=1/FAILURE)
Oct 18 20:20:06 nextcloudpi systemd[1]: Started Update IONOS DNS Record.
Oct 18 20:20:10 nextcloudpi bash[18391]: Couldn't read setttings.
Oct 18 20:20:10 nextcloudpi bash[18391]: Traceback (most recent call last):
Oct 18 20:20:10 nextcloudpi bash[18391]: File "/home/pi/.local/bin/domain-connect-dyndns", line 10, in <module>
Oct 18 20:20:10 nextcloudpi bash[18391]: sys.exit(main())
Oct 18 20:20:10 nextcloudpi bash[18391]: File "/home/pi/.local/lib/python3.7/site-packages/dyndns/command_line.py
Oct 18 20:20:10 nextcloudpi bash[18391]: domains = config.keys()
Oct 18 20:20:10 nextcloudpi bash[18391]: UnboundLocalError: local variable 'config' referenced before assignment
Oct 18 20:20:10 nextcloudpi systemd[1]: ddns.service: Main process exited, code=exited, status=1/FAILURE
Oct 18 20:20:10 nextcloudpi systemd[1]: ddns.service: Failed with result 'exit-code'.
誰かが私が欠けているものを教えてもらえますか?なぜ、そのpythonの問題は、スクリプトで呼び出したときにのみ発生し、ターミナルから実行するとすべてが機能するのですか?ありがとう
スクリプトが見つかりませんsettings.py
。WorkingDirectory
サービス構成ファイルで構成を設定するか、スクリプトパラメーターで設定へのパスを指定する必要があります。
# don't forget to change the path
domain-connect-dyndns update --all --config /home/pi/ddnsdir/settings.txt
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加