2016-04-06 8 views
0

rsyncを使用してリモートサーバーからローカルパスにファイルを転送するときに、私がcronの使用に失敗する理由を理解するのに役立つ情報を探しています。cronとrsyncを使用してリモートサーバーからローカルパスにファイルを転送する方法

rsync --protect-args --remove-source-files --chmod=Du=rw,Dgo=rw,Fu=rw,Fog=r -apvzrc [email protected]:/media/pi/USBSTORAGE32/ /media/Data_1/"James' Files"/ 

私が設定している:

私の目的は、私が一緒に以下のrsyncコマンドを入れて設定した時間に予定さcronジョブの実行を持っているし、成功した私の転送スクリプト数多くのGoogle検索から

を実行することですリモートサーバーを起動して、ssh-keygen rsaを使用してauthorised_keysファイルに格納されている公開鍵を生成することで、パスワードを要求しません。私はSSHを使用して 'ローカル'マシンにログインし、リモートサーバーからローカルマシンにファイルを 'プル'するコマンドを入力します。

上記のrsyncコマンドをテストしたら、私はそれを釘付けにして、これをスクリプトにポップしてcrontab経由でcronに追加したと思った。私の追加された行はこの

55 * * * * sudo /home/jlivin25/bin/myscripts/sync.sh > /var/log/james/cronsync.log 2>&1 

のように見え、私のスクリプトは次のようになります。

#!/usr/bin/env bash 
rsync --protect-args --remove-source-files --chmod=Du=rw,Dgo=rw,Fu=rw,Fog=r -apvzrc [email protected]:/media/pi/USBSTORAGE32/ /media/Data_1/"James' Files"/ 

スケジュールされたタスクが予想どおりに実行に失敗し、cronがスクリプトを実行するためにtrysが、次のエラーメッセージがログインしています私のログファイル:

sudo: no tty present and no askpass program specified 

そして、その私はので、私は私がやっている動作していないことの理由の異なる多くを得る上記のメッセージ「グーグル」で、こだわっているこの時点で。私はどこにエラーを追跡するか分からない、私のcron、sshまたはrsyncの使用に関する問題です。

ご協力いただければ幸いです。 cron

+0

あなたはあなたの端末が必要なものがあります。たぶんあなたのsshエージェント – quazardous

+0

/etc/cronで試してみてください。dまたは直接あなたのrootユーザーのcrontab -eとsudoすることを避けるために – quazardous

+0

ちょっと@quazardous、私はそれ(ルートのcrontab)を考えていない私はそれを行って報告して戻ってきます。迅速な対応に感謝します。 – Littlejeem

答えて

0

だから、非常に可能性の高い

littlejeemは、システムの利用者cronによって実行されるデーモンです。 cronデーモンがcronジョブを実行することを決定すると、それはcronユーザーのようになります。しかし、非常に高いcronユーザーがシステム内のsudoに許可されていないので、これはは通常禁じ用途にパスワードを要求sudoのよう(言及sudoのエラーを占めますが、この場合には搭載していませんか、パスワード要求プログラムcronを取得するユーザー)

これを確認する方法は、スクリプトの最初にenv | sort >/tmp/environment.logのようなものを実行し、実行後にキー変数(USERHOMEなど)を確認することです。あなたのスクリプトが手動で実行されるときに環境と比較することさえできます。

sudocronにスクリプトを「正しい」ユーザーとして実行させることは明らかです。別のアプローチは、あなたのスクリプトが "正しい"ユーザの環境の一部をソース(または複製)するようにすることです。したがって、sudoは不要です。私はあなたの目標にどれがより効果的かは分かりません。

+0

こんにちは@coolparadoxは答えを書く時間をとってくれてありがとう。私は 'env |ソート>/tmp/environment.log'明日。私は、私が成功した成果を妨げていることにいくつか前提を置いていると思う。 – Littlejeem

関連する問題