• 締切済み

CentOSで別サーバーにデータを定期的に自動バックアップしたい

現在サーバーが3台あります。 OSは3台ともCentOSです。 サーバーA:WEBサーバー サーバーB:DBサーバー サーバーC:バックアップ(データ保持用) サーバーBのダンプした結果とサーバーAのユーザーがアップロードしたファイルなどのデータをサーバーCに自動でバックアップしたいのですが どのようにやればいいかがわかりません。 rsyncを使えばバックアップはできますが毎回パスワードの入力が必要で完全自動化ができません。 (現在はスクリプトを作って手動で毎回パスワードを入力してやっています) パスワード入力なしに自動でバックアップをサーバーCに転送するにはどうすればいいでしょうか? あとググって↓のページを見つけたのですが こちらによるとSSHのログインをパスワード方式から秘密鍵方式に変更すれば・・・みたいなことが書いてあるのですが 秘密鍵方式を使ってもいいけど パスワード認証によるログインも使えないと別の理由により困ります。 http://www.jitaku-server.net/backup_ssh.html 以上よろしくお願いします。

みんなの回答

回答No.1

そういう場合は普通は鍵認証でやりますね。 鍵にパスワードを付けなければするするにログインできます。 セキュリティにはご注意ください。

関連するQ&A

  • ssh + rsync でパスワードを聞かれなくする方法

    SSH + rsync(rsync -e ssh ・・・で ssh 回線で同期)でファイルをコピーする時に、パスワードを聞かれなくする方法はないでしょうか? http://www.okweb.ne.jp/kotaeru.php3?q=323149 などを参考に、公開鍵を作りログイン先のauthorized_keysに登録しました。(公開鍵を作るときにパスフレーズを入力してません。) こうすると、たしかに"パスフレーズ"は聞かれないのですが、"ログインパスワード"は毎回聞かれます。これは仕方がないのでしょうか? ●ファイルのコピー先がファイアーウォールで ssh のポートくらいしか空いていないので、 ssh + rsync を使おうと思っています。 ●同期したいフォルダは複数あるので、スクリプトを作って rsync -avz -e ssh フォルダAを同期 ・・・ rsync -avz -e ssh フォルダBを同期 ・・・ ・・・ という感じで一気に同期できれば便利だな と思っていました。 ところが今のままでは、rsync コマンド一回ごとに ログインパスワードを入力することになってしまいます。

  • TeraTermからレンタルサーバーのCentOSへのsshについて

    TeraTermからレンタルサーバーのCentOSへのsshについて WinXP上からTera TermでレンタルサーバーのCentOSへのsshでアクセスしようとしています。 PuttyGenにてssh-2 RSAで公開鍵、秘密鍵を作成しました。サーバーには公開鍵の設定をしてもらいました。 WinXP上からTeraTermを起動し、秘密鍵の設定をして起動すると、 「SSH2 秘密鍵の読み込みに失敗しました。error:0906D06C:PEM routines:PEM_read_bio:no start line」と表示されて接続できません。 どうすればアクセスできるか教えてください。

  • レンタルサーバ同士のバックアップ

    レンタルサーバ同士で毎日バックアップを取りたいと考えています。このサイトでいろいろと検索した所、rsync + sshで行うようですが、レンタルサーバ同士でも設定は可能なのでしょうか? 両方ともcrontabは使用可能です。 Aサーバの/home/hoge/backup/内をそのままミラーの形で、 Bサーバの/home/hoge/backup/にバックアップしたい。 ※Aサーバの/home/hoge/backup/には現状10個程あるDBのmysqldumpを毎日取り、1ヶ月後に削除する設定にしています。 ※Bサーバでの運用は考えていません。 Aサーバ:hoge1.com Linux 2.6.9-42.ELsmp Bサーバ:hoge2.com Linux 2.4.34.1-p3-nonsmp-JWH Aサーバのcrontabに見よう見まねで下記をセットした所、 rsync -avz -e ssh --delete /home/hoge/backup/ hoge2.com:/home/hoge/backup/ rsync error: syntax or usage error (code 1) at main.c(891) とエラーになりました。 それとも、rsync + sshは諦めて、ftpコマンドで送った方がよろしいのでしょうか?

  • CentOS Stream鍵ファイルでrsync

    CentOS Stream release 8 鍵ファイルでrsync CentOS Stream release 8の2台のマシンでAからBにフォルダをコピーするシェルを書きたいです。 com-a:192.168.1.11 com-b:192.168.1.12 com-bのログインは鍵ファイルを作っています。 com-aからcom-bにsshでログインするところまではできています。 <192.168.1.11から> ■通常のログイン ssh -i 鍵ファイル root@192.168.1.11 ここまでできていrます。 パスワードは求められません。 ■rsyncでフォルダーのコピー rsync -auvz --delete -e ssh /dir-from root@192.168.1.12:/dir-to/ しかし、これではパスワードを求められます。 rsyncで鍵ファイルは指定できないですか?

  • [bash] rsync データバックアップ

    掲題の件で質問させて下さい。 rsync でローカルサーバ(A)のデータをリモートサーバ(B)にコピーしたいのですが、 そのためのシェルを作成でつまづいております。 ▼シェルの中身 ---------------------------------------------------------------------- expect -c " spawn rsync -auvze \"ssh -p 10022\" /tmp/ root@BのIPアドレス:/backup/ expect \"root@BのIPアドレス's password:\" send \"パスワード\" exit 0 " ---------------------------------------------------------------------- ▼実行結果(sh -x /シェルのパス) ---------------------------------------------------------------------- + expect -c ' spawn rsync -auvze "ssh -p 10022" /tmp/ root@BのIPアドレス:/backup/ expect "root@BのIPアドレス'\''s password:" send "パスワード" exit 0 ' spawn rsync -auvze ssh -p 10022 /tmp/ root@192.168.23.44:/backup/ root@192.168.23.44's password:[root@TEST01 scripts]# ---------------------------------------------------------------------- 実行結果を見ると、シングルクォーテーションのエスケープが出来ていない?ようです。 実行結果2行目「expect "root@BのIPアドレス'\''s password:"」 何通りか書き方を変えては見たのですが、どれもうまくいかず、、、 どのように書けば ssh ログインをしてサーバBにデータを送れるようになりますでしょうか。 ※パスワード認証はダメだよ!や、パスワード直書きはダメだよ!といったご指摘は  控えて頂けると助かります。とり急ぎ目の前の問題をクリアしたいので。

  • ファイルサーバのバックアップ、(緊急時運用)

    社内にある、5台のファイルサーバのバックアップサーバをrsyncで転送して構築しています。ファイルサーバダウン時にはダウンしたサーバのsmb.confを読み込ませて運用させようと思います。 それぞれのファイルサーバのsamba.confはバックアップサーバ側にコピー済み、ユーザ番号は統一させています。sambpasswdもコピーして全てバックアップサーバ側に設定してあります。いざバックアップサーバのsambaにアクセスしようとしてもパスワード入力で蹴られてしまいます。何か足らない設定はあるのでしょうか?教えてください。

  • rsyncをPHPで行いたいのですが、

    いつもお世話になっております。 rsyncをPHPのexecコマンドから行いたいと思っているのですが、 現状、コピー元のサーバー、コピー先のサーバーともroot権限が無い状態ですので、 公開鍵、秘密鍵を作ることができない状況です(root権限無かったら作れないですよね?)。 なので、sshでpassを聞かれても良いのでrsyncを実行しようと思うのですが、 passを聞かれる場合でもPHPのexecコマンドからrsyncを実行することはできますでしょうか? 色々サイトを見ても鍵を生成してパスワードを省略することしか記載されていないので。 ご教授お願いします。

    • ベストアンサー
    • PHP
  • Androidから自宅サーバーへのSFTP接続

    自宅でデータバックアップ用のサーバを立てています。 スマートフォンを使い始めたこともあり、SSHやSFTP経由でデータの授受を考えています。 使い慣れたファイルマネージャーであるアストロファイルマネージャーにSFTPサーバーへの 接続設定がありますが、接続できません。 ユーザー名の入力はありますが、パスワードを入力欄がありません。だから、公開鍵の情報をサーバー側に設定する方式かとも思ったのですが、鍵の作り方も書いていないし良く分かりません。 他のアプリ(ESファイルマネージャー)では、正常にデータの授受ができることは確認しました。 ESファイルマネージャーを使えばよいのですが、使いやすいのでアストロファイルマネージャーで接続できるならそちらを使いたいと考えてます。 ちなみに、外部のパソコンからはSFTPクライアントの接続もできますし、S鍵情報をサーバー側に設定してSSH通信によるrsyncコマンドによる自動バッチ処理でのデータ授受は実用できてますので、一通りSSHに関する設定は正しく稼動しているはずです。

  • パスワード入力なしでsshログイン

    パスワード入力なしでsshログインしたいけど上手く行きません。 CentOS7のPCが2台(CentOS7-C, CentOS7-S)あります。 CentOS7-CからCentOS7-Sにパスワード入力なしでsshログイン(鍵認証でログイン)したいと思い、下記のサイトを参考にしながら悪戦苦闘しています。 パスワード入力なしでsshログイン(鍵認証でログイン) https://setting-tool.net/ssh-key-authorize <手順> クライアント側  ssh-keygen -t rsa でキー生成 サーバー側  クライアントで生成したキーを保存 <コマンド> ■前提 クライアント側 CentOS7-C 172.16.0.201 サーバー側 CentOS7-S 172.16.0.202 ■クライアント側設定 キーの発行 [root@CentOS7-C ~]# ssh-keygen -t rsa パーミッション設定 [root@CentOS7-C ~]# chmod 700 /root/.ssh [root@CentOS7-C ~]# chmod 600 /root/.ssh/* キーファイルをサーバー側に送る [root@CentOS7-C ~]# rsync -av -e ssh /root/.ssh root@172.16.0.202:/root/.ssh/from172.16.0.201 この時は手動でパスワード入力 ■サーバー側設定 クライアントからのキーファイルを別名で保存 [root@CentOS7-S ~]# cp /root/.ssh/from172.16.0.201/.ssh/id_rsa.pub /root/.ssh/authorized_keys キーファイルのパーミッション設定 [root@CentOS7-S ~]# chmod 600 /root/.ssh/authorized_keys ■クライアント側から接続 [root@CentOS7-C ~]# ssh root@172.16.0.202 Enter passphrase for key '/root/.ssh/id_rsa': 成功していればパスワードを聞かれずにログイン。 しかし、失敗しているので、パスワードを要求されている。 <考察> クライアントで生成したキーをサーバーにリモートコピーするだけなのに上手く行かない。 シンプルな話、 クライアントの /root/.ssh/id_rsa.pub と サーバーの /root/.ssh/authorized_keys が 同じであれば成立するというだけの話に思えるが、 クライアントでのcat /root/.ssh/id_rsa.pub と サーバーでのcat /root/.ssh/authorized_keys を見比べても全く同じなのに上手く行きません。 何が悪いのでしょうか?

  • サーバのデータバックアップ方法

    助けて下さい!!! 30人弱の会社で使用しているサーバですが、自動的にバックアップを取るように前任者が設定したようです。引き継ぎもないまま(っていうか会ってもいないんですが)その人の後任になったのですが、前任者がいなくなった頃を境に、バックアップに失敗しているようです。 「タスク」を設定しているようで「正しくないパスワードまたはユーザー名が入力されたため、スケジュールタスクは実行されませんでした。」と「状態」の部分にありました。 全く何がなんだか分からないんです。。。 バックアップができていないって言うのは、大変なことなので、どうにかしないと行けないのですが。。。。 サーバのOSは、Windows2000サーバです。 バックアップに使用しているのは、テープ??ですか??5cm×3cm厚さ1cmくらいのものです。 ヒントだけでも良いから、何か教えて下さい!!!