2012-01-14 17 views
0

シェルスクリプトを実行してftpフォルダでバックアップを実行する新しいlaunchagentファイルを作成しようとしています。次のように の.plistファイルの内容は次のとおりです。launchd .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 [email protected]:/the/ftp/folder/  "/Users/jackm/morefolders/Backups/D2 Backup/$(date '+%d-%b-%H:%M')" 

backup.shファイルは、私が端子を介して実行すると、絶対に正常に動作尋ねます私はパスワードを入力してからフォルダをダウンロードします。しかしlaunchdのを使用する場合は、私もパスワードの入力が要求されません 、私はエラーログファイルに次の取得:

Permission denied, please try again. 
Permission denied, please try again. 
Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password). 

にlaunchctlリストがステータスを持つようなplistを与えるを1 〜の/ etc/ssh_configのPasswordConfirmationはの.plistファイルがのLaunchAgentsフォルダに

乾杯のlaunchd経由で実行すると

答えて

1

、あなたのスクリプトは、対話型のttyが取り付けられていないため、パスワードの入力を求めることができないで1 です。代わりにpublic key authenticationを設定する必要があります。

+0

完璧、ありがとう! – user1149405

関連する問題