次の場所にスクリプトがあります。/home/user/backup.sh
私はroot crontabを介してこのスクリプトを実行しようとしています。実行されていません。アカウントにcrontabを作成すると、user
スクリプトが機能します。
このスクリプトをroot 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
。