2012-02-20 15 views
0

これはハイデラバードのSrikanthです。シェルスクリプトを完全に実行していないCronjob

私は法人会社のLinux管理者です。私たちはイカサーバを持っていますので、私はバックアップイカサーバを用意しました。ライブイカサーバがダウンすると、バックアップサーバをLIVEに置くことができます。

私のsquidサーバーは、Centos 5.5で構成されています。私は/ etc/squid/liveサーバーのすべての構成ファイルをバックアップサーバーにバックアップするスクリプトを用意しました。

ディレクトリ/ opt/permission 755(rwxr-xr-x)にsquidbackup.shとして保存されたスクリプトは次のとおりです。

#! /bin/sh 
username="<username>" 
password="<password>" 
host="Server IP" 

expect -c " 
spawn /usr/bin/scp -r <username>@Server IP:/etc/squid /etc/ 
expect { 
     "*password:*"{ 
     send $password\r; 
     interact; 
        } 
    eof{ 
    exit 
     } 
} 

**これは、スクリプトに記載されているユーザーを確認するバックアップサーバーで実行されます。ライブサーバーでユーザーを作成し、スクリプトで同じユーザーを指定しました。

私はすべてが今まで正常に動作します

[[email protected] ~]# sh /opt/squidbackup.sh 

以下のコマンドを使用してこのコマンドを実行すると、このスクリプトは、場所の/ etc /イカのLIVEサーバーのの/ etc /イカ/ディレクトリからすべてのファイルをダウンロード私は

50 23 * * * sh /opt/squidbackup.sh 

いけない間違っているのか知っている以下のような、または他のタイミングでcrontabでこれを設定した場合/ Backupサーバの

さて問題は、発生させ、それがn個でありますすべてのファイルをダウンロードしてください。つまり、CronjobはLIVEサーバーの/ etc/squid /からバックアップサーバーの/ etc/squid /に少数のファイルしかダウンロードしていません。

**このスクリプトを手動で実行すると、すべてのファイルが完全にダウンロードされてエラーや警告が出力されます。

ご質問がある場合は、先に進んで投稿してください。

解決策があれば教えてください。

お願いします。ありがとうございます。


ご協力いただきありがとうございます。私はあなたが言ったことを試しました、それは下のように表示されますが、以前私はイカのバックアップサーバーのユーザーのメールに同じ出力を取得するために使用します。

でも、cronログでも同じことが表示されますが、以下の行から正確なエラーは何か分かりませんでした。

cronでダウンロードするファイルはごくわずかです。

spawn /usr/bin/scp -r <username>@ServerIP:/etc/squid /etc/ 
<username>@ServerIP's password: 

他に何か提案できるかどうかを確認してください。

+0

cronジョブからのメールは、何と言っていますか? – Flexo

+0

ユーザ名とパスワードは、大文字で読みやすく、大文字で表示されます。それは本当に悪い考えです。パスワードなしのsshを設定する必要があります。スクリプトを実行するアカウントの '$ HOME/.ssh'ディレクトリに公開鍵と秘密鍵を作成し、リモートシステムに' $ HOME/.ssh/authorized_keys'を設定してください。パスフレーズのない秘密鍵を設定するのが最も簡単です。つまり、秘密鍵ファイル*を安全に保つ必要があります。 (秘密鍵をパスフレーズで設定し、cronジョブで 'ssh-agent'を使用させることは可能ですが、それはちょっと複雑になります)。 –

答えて

1
  1. 最初に簡単なオプションをお試しください。次のようにstdoutとstderrをキャプチャします。これらのファイルは問題を指しているはずです。

  2. スクリプトを見ると、期待する場所を指定する必要があります。それは問題になる可能性があります。

 
50 23 * * * sh /opt/squidbackup.sh >/tmp/cronout.log 2>&1 
関連する問題