launchd.plistファイルを使用してシェルスクリプトを実行しようとすると許可が拒否されました
-
28-10-2019 - |
質問
FTPフォルダーでバックアップを実行するシェルスクリプトを実行する新しいLaunchagentファイルを作成しようとしています。 .plistファイルのコンテンツは次のとおりです。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" \
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.team.backup</string>
<key>ProgramArguments</key>
<array>
<string>/Users/jackm/Documents/Uni/backup.sh</string>
</array>
<key>StartCalendarInterval</key>
<array>
<dict>
<key>Hour</key>
<integer>15</integer>
<key>Minute</key>
<integer>30</integer>
</dict>
</array>
<key>StandardErrorPath</key>
<string>/Users/jackm/Documents/Uni/backup_err.log</string>
</dict>
</plist>
backup.shファイルは次のとおりです。
#!/bin/bash
scp -r username@thehost.co.uk:/the/ftp/folder/ "/Users/jackm/morefolders/Backups/D2 Backup/$(date '+%d-%b-%H:%M')"
backup.shファイルは、ターミナルを介して実行すると非常に正常に実行され、パスワードを要求してからフォルダーをダウンロードします。ただし、起動を使用する場合、パスワードを求められないようになります。エラーログファイルで以下を取得するだけです。
Permission denied, please try again.
Permission denied, please try again.
Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).
launchctlリストは、プリストにステータス1を持つことを示します。
乾杯
解決
LaunchDを介して実行すると、スクリプトにインタラクティブなTTYが添付されていないため、パスワードを求めることができません。セットアップする必要があります 公開鍵認証 代わりは。
所属していません StackOverflow