cron을 통해 홈 디렉토리 외부에서 스크립트를 실행하는 방법

cron을 통해 홈 디렉토리 외부에서 스크립트를 실행하는 방법

다음 위치에 스크립트가 있습니다./home/user/backup.sh

내 루트 crontab을 통해 이 스크립트를 실행하려고 합니다. 실행되고 있지 않습니다. 내 계정에 crontab을 생성하면 user스크립트가 작동합니다 .

이 스크립트를 루트 crontab으로 실행할 수 있는 방법이 있습니까? 제가 사용하고 있는 라인입니다.

25 20 * * * sh /home/user/backup.sh


스크립트 내용:

tar -czvf /home/user/backup/backup.tar.gz /var/www/
mysqldump -u root -p password --all-databases > /home/user/backup/backup.sql
rsync -avz /home/user/backup user@myserver:/home/user/

답변1

root전체 액세스 권한을 갖습니다.당신의시스템이지만 일반 사용자 계정이 가지고 있는 다른 시스템에 대한 모든 키를 반드시 가질 필요는 없습니다.

질문은 다음과 같습니다.

rsync -avz /home/user/backup user@myserver:/home/user/
                             ^^^^

root이 명령을 다음과 같이 실행 하면, 키가 사용되고 명령이 성공합니다.

sudo -u user rsync -avz /home/user/backup user@myserver:/home/user/

또는 root공개 키를 시스템 user에 허용된 SSH 키로 설치할 수 있습니다 myserver.

관련 정보