2012-06-12 3 views
0

새 서버로 이동하여 Maildir/의 내용을 cron 작업을 사용하여 전환 지점까지 동기화 된 상태로 유지하는 프로세스를 자동화하고 싶습니다. 루트 로그인을 사용하고 싶지 않고 LDA 사용자 이름 인 postalworker에 로그인을 사용하고 싶지 않습니다. 서버는 CentOS 5에서 postfix/dovecot을 실행합니다.Maildir을 동기화하기 위해 rsync cron 작업을 어떻게 설정합니까?

이 문제를 해결하는 가장 좋은 방법은 무엇입니까? 이미 다른 사용자 이름으로 공개/비공개 키 SSH를 사용하고 있지만 postalworker로 직접 로그인하는 방법은 무엇입니까? Maildir/의 내용은 모두 postalworker가 소유하며 모두 0600 권한을 가지고있는 것으로 보입니다. 따라서 그룹 권한을 사용하려면 모든 권한을 재설정해야합니다. 내가 누락 된 쉬운 방법이 있어야합니다. 어떤 도움을 주셔서 감사합니다.

답변

1

대상 사용자가 다음 루트로 rync의 크론를 실행할 수있는 올바른 권한이없는 경우 소스

rsync -avz -e ssh --delete /stuff/ [email protected] ip:/home/laptop/stuff/ 

에 루트로 루트로

실행을 실행하는 원본 서버에서 rsync를 사용할 수 있습니다 다음 디렉토리

를 동기화 그래서 소스

*/2 * * * * root rsync -avz -e ssh --delete /stuff/ [email protected] ip:/home/laptop/stuff/ 
에서 같을 것이다 0

다음

+0

아, 그래서 당신을 정확하게 이해한다면,'Maildir /'의 내용은 목적지 서버의 보관 디렉토리에 놓이게됩니다. 그런 다음 대상 서버에서 루트로 실행중인 다른 프로세스가 로컬로 이동을 완료합니다. 이렇게하면 루트 권한으로 어느 서버 에나 로그인하는 것을 효과적으로 피할 수 있습니다. 좋은 생각! –

+0

이 문제가 해결되면 새 사용자를 만들고 홈 디렉토리를/maildir /로 설정하여 두 단계로 내려가는 것을 방지 할 수있는 해당 폴더에 대한 쓰기 권한을 부여 할 수 있습니다. 두 가지 방법 모두 효과가있다. – Paperghost