2012-01-14 5 views
0

셸 스크립트를 실행하여 ftp 폴더에서 백업을 수행 할 새 launchagent 파일을 만들려고합니다. 다음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 파일 인 : I가 단말기를 통해 실행하면

#!/bin/bash 
scp -r [email protected]:/the/ftp/folder/  "/Users/jackm/morefolders/Backups/D2 Backup/$(date '+%d-%b-%H:%M')" 

backup.sh 파일 절대적 정상적으로 실행 요구는 다음과 같이 .plist 파일 함유량은 나를 암호로 누른 다음 폴더를 다운로드합니다. 비록 launchd에를 사용하는 경우, 나는 심지어 암호를 입력하라는 메시지가 표시되지 않습니다 , 난 그냥 오류 로그 파일에 다음을 얻을 :

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

launchctl 목록이 상태를 갖는 것으로 PLIST를 제공 1. ~을/etc/launchagents이

건배

launchd에를 통해 실행

답변

1

폴더에 ssh_config를 PasswordConfirmation 1 .plist 파일입니다, 당신의 스크립트는 암호를 입력하라는 메시지를 표시 할 수 없습니다, 따라서 부착 대화 형 청각 장애를 가지고 있지 않습니다. 대신 public key authentication을 설정해야합니다.

+0

완벽한, 감사합니다! – user1149405

관련 문제