기본적으로 백업을 수행하기 위해 서버에서 데이터를 가져오는 bash 스크립트가 있습니다.
이제 수동으로 스크립트를 시작하고 비밀번호를 입력한 후 완료될 때까지 기다려야 합니다.
백업을 처리하기 위해 cronjob을 설정하고 싶습니다.
하지만 cronjob에서 비밀번호를 처리하는 방법을 잘 모르겠습니다.
또한 공급자가 키를 구성하는 데 필요한 메커니즘을 제공하지 않기 때문에 키를 사용할 수 없습니다.
SSH를 통해 홈 폴더에 액세스할 수 있지만 홈 폴더 내에서는 디렉터리를 제외하고는 쓰기 액세스 권한이 없습니다 http(s)docs
. 따라서 ~/.ssh/
키를 통해 로그인하는 데 필요한 디렉토리와 해당 내용을 생성할 수 없습니다 .
답변1
이것은 다른 머신에 백업하는 데 사용하는 명령입니다.
rsync -av -e "ssh -i /root/ssh-rsync-valhalla-key" \
--exclude lost+found \
--delete-before \
/mnt/backup/ \
[email protected]:/cygdrive/r/\!Backups/Niflheim &
-i
따라서 .dll을 사용하여 키 파일을 ssh에 전달할 수 있습니다 . 물론 귀하의 예에서는 누군가가 파일 이름을 알아내면 HTTP를 통해 키 파일 자체를 공유할 수 있음을 의미합니다.
답변2
데몬을 시작하고 계속 실행할 수 있었습니까? rsync
그렇다면 데몬 모드에서 실행할 수 있습니다.
그런 다음 클라이언트에서 rsync://
URL을 사용하여 연결합니다. 인증을 위해 IP로만 제한할 수 있지만 SSH 키에 해당하는 키는 없다고 생각합니다.
다음 내용을 포함하여 어디에나 있을 수 있는 rsyncd.conf가 필요합니다.
[backup]
path = /path/you/want/to/sync
read only = true
hosts allow = 1.2.3.4
그런 다음 데몬 프로세스를 시작하십시오.
rsync --daemon --config=rsyncd.conf
그런 다음 다음에서 동기화를 시도할 수 있습니다.
rsync -av rsync://server.ip/backup /local/backup/dir