• ベストアンサー

rsyncをきちんと途中で中断する方法

ballvilleの回答

  • ベストアンサー
  • ballville
  • ベストアンサー率47% (233/487)
回答No.1

ctrl+cだとバックアップがどこまで進んだかわからないので、再開できず最初からやり直しになります。 事前にコピー対象のリストを作り、実行時にログを生成するようにすれば再開可能ではありますが。 ctrl+Zで中断すれば、bg fgコマンドで再開できますのでそちらのほうが簡単でしょう。 >コマンドミスっていたらどうしようかなと実行時には常に不安になります 注意点をまとめてくださった方のサイトを貼っておきます http://koseki.hatenablog.com/entry/20090424/rsync > Linux 上でのバックアップはrsyncが最適なのでしょうか? こちらを参考に https://eng-entrance.com/linux-backup

noname#257333
質問者

お礼

ctrl+cで最初からのやり直しというのは、ある一つのファイルについてということですよね。 コピー中のフォルダのコピーが完了したデータに関してはもう一度上書きというようなことはなかったです。 ただ再開できるというのはかなり便利な機能だと感じました。 完全にコピー作業を終わらせる時はctrl+c。 PC の電源を切ったり外付けハードディスクをアンマウントせずに、後で途中から再開する場合にはctrl+zを使えば良いという風に理解しました。 またあげて頂いた URL はかなり高度なのかよく分からない部分も多いですが、 とても詳しそうな人が書いている感じがするので今後参考にさせていただきます。 回答どうもありがとうございました。

関連するQ&A

  • rsyncの実行時間

    rsyncを実行後、ログに実行時間を残したいのですが、どのようにコマンドを打てば良いか教えてもらえないでしょうか。 time rsync -avz /usr/src /test >> /var/log/rsync/rsync.log 試しに上記のように打ってみたのですが、実行時間がログには入りませんでした。 Linux初心者ですが、宜しくお願いします。

  • CentOS7 rsyncでバックアップ

    rsync でバックアップする対象ディレクトリをrsync_exclude.lstに書いて、外付けHDDをext2でフォーマットしてディレクトリ作って実行しました。rsync_exclude.lstに書いてあるがバックアップされないディレクトリがあります。実行はrootです。どこかチェックポイントありますか?

  • rsyncコマンドでのバックアップについて

    Linux初心者です。よろしくお願いします! あるログの差分をとりバックアップをしたいと考えています。 rsyncを使うと簡単にできると分かりました。 しかし、rsyncはその名の通り「同期」をしているようで、例えば、下記のようなバックアップ取得ができないように思えます。 1日分しかログを残さないファイルがあるとします。(前日分のログは消されていく) rsyncを使って、この「元ファイル」の前日分も残しながら差分をバックアップする。 rsyncを使って上記のようなバックアップは可能でしょうか? また、他に上記のバックアップ方法に向いたコマンドやシェルのアイデアがありましたら、アドバイスをよろしくお願いいたします。

  • rsyncの書式

    Linux、10日目のまったくの素人です、よろしくお願いします。 rsync -a [バックアップ元] [バックアップ先] と本に載っているので,使ってみたいのですが、 [バックアップ先]に USB外付けHDD (容量はバックアップ元と同じ) を指定することはできるのでしょうか? [バックアップ元]のHDDはパーテイションで区切ってはいません。 OSはDebian etchです。 書式をお願いします。 また、USB外付けHDDのフォーマットの仕方も教えてください。 あまりに基本すぎると思いますが、よろしくお願いします。 .

  • rsyncでのバックアップにて

    お世話になります。 いきなりですが、本題に入らせていただきます。 「A」というサーバー(Web・メール・DNS)があると仮定します。 OSはRedhat Linux7.0J(以下RH7と説明)だとします。 「B」というバックアップ用のサーバーを用意し、 OSにRedhat Linux 7.1J(以下RH7.1と説明)を入れたとします。 rsyncコマンドを使用して、AのデータをBにバックアップしたいと思います。 ここで質問なのですが、 同じOSのバージョン違い同士で、rsyncコマンドでバックアップした際に、何か不具合が起こる可能性というのは、やはりあるのでしょうか? (例えば、Aのマシンの/homeをBのマシンの/homeへ上書きした場合です) というのも、以前、会社の人から「ドットファイルを違うOSに持っていくと、正常に動かない」という風なことを聞いたので、RH7.0とRH7.1でもそういう風な不具合が起こるのか、疑問に思いました。 うまく説明できていないかもしれませんが、 どなたかご教授ください。 おねがいします。

  • ポータブルHDにバックアップを取る方法(rsync)

    Ubuntu8.04 をファイルサーバとして使っています。 あるディレクトリをSambaでネットワーク内のWindowsクライアントに 共有させています。 このディレクトリをUSBポータブルHDにバックアップ取ることを考え、 全体としてのサイズはそこそこありますが、日々の変更分は多くないこともあり、 rsyncで差分バックアップを取ることを試みているのですが、どうも理想通りの 動きをしてくれません。 差分バックアップなので、更新していないファイル、フォルダは更新をしてほしく ないのですが、rsyncを起動させるたびに更新します。 まず、rsyncのコマンドですが、 rsync -auv --exclude 'tmp/' --delete /home/share /mnt/usb/backup/ で、やってみました。 chownのエラーが出たので、ポータブルディスクがvfatであることから オプションが問題なのかと思い、 -rlptDuv -rltDuv -ruv 等々オプションを変更させながら試してますが、エラーは出なくなったものの rsyncのコマンドを実行するたびに元ファイルが更新されていなくてもバックアップされるファイルが多々あります。 (オプションを減らすごとにその数は減ったのですが) ただ、上記オプション以上は修正すべき点がわからず困っています。 解決策についてアドバイス等いただければと思います。 よろしくお願い致します。

  • 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 コマンド一回ごとに ログインパスワードを入力することになってしまいます。

  • SQL*Loaderの中断について

    SQL*Loaderの中断について シェルから子シェルを非同期で多重起動し、子シェルで SQL*Loaderのコマンドをかけています。 (子シェル内でもループで複数回コマンド実施) 実行中に親プロセスをCtrl+Cで殺します。 子シェルは投げられた分だけ実行するのはいいのですが、 Loaderの戻り値を受けて完了ファイルを書くのですが、 Ctrl+Cで中断されたLoaderのログがあるにもかかわらず 正常で帰ってきているものがあります。 ログに中断されたロードと出ているにも関わらず、 正常の戻り値ってありえますか? よろしくお願いします。

  • rsyncのエラー

    rsyncでデータのバックアップをとっているのですが、次のようなエラーが出ています。  rsync: mkstemp "ファイル名" failed: No such file or directory (2)  rsync: stat "ファイル名" failed: No such file or directory (2) そこで、エラーメッセージの中のファイル名をもとに、そのコピー元とコピー先のファイルを調べてみました。 すると、コピー元のファイルの絶対パス名の中に大文字だけのフォルダ名やファイル名が含まれていると、コピー先でその名前の部分が全部小文字になっていて、それがエラーの原因のようです。 例えば、コピー元の絶対パス名が   /?????/AAA/BBBcc/ddd だとすると、コピー先では   /?????/aaa/BBBcc/ddd となっています。 どうすれば、大文字のままコピーできて、エラーが出なくなるのでしょうか?? OSはFedora Core 3です。 「rsync --version」によると、   rsync version 2.6.3 protocol version 28 です。 コピー先は外付けのUSBハードディスクで、fat32フォーマットです。 どうすればいいのでしょうか? よろしくお願いいたします。

  • IE上からrsyncスクリプトを実行したい。

    目的:IEからrsyncスクリプトを実行してWEBサーバAとWEBサーバBの    同期を取り、データを同じにしたいです。    IEのURL欄部分へスクリプトまでのフルパスを入力、実行すると    同期が取れるようにしたいのです。        *現状はIE上では無く、サーバ上からrsyncスクリプトを実行     すると同期が取れます。     コマンド:./test/script/testrsync.pl     IE上からフルパスでtestrsync.plを実行すると     Internal Server Errorとなってしまい、下記のエラーログ     が出てしまいます。 apacheのエラーログ ----------------------------------------------------------- Host key verification failed. rsync: connection unexpectedly closed (0 bytes received so far) [sender] rsync error: error in rsync protocol data stream (code 12) at io.c(463) [sender=2.6.8] Host key verification failed. rsync: connection unexpectedly closed (0 bytes received so far) [sender] rsync error: unexplained error (code 255) at io.c(463) [sender=2.6.8] [Mon Jun 1 00:00:00 2009] [error] [client xxx.xxx.xxx.xxx] Premature end of script headers: /test/script/testrsync.pl ------------------------------------------------------------ rsyncスクリプト ------------------------------------------------------------ #!/usr/local/bin/perl $RSYNC_SCRIPT = "/usr/local/bin/rsync --rsync-path=/usr/local/bin/rsync"; $RSYNC_OPTION = "-azpq -e ssh --delete"; $RSYNC_SVUSER = "user\@serverb:"; $TEST_DIR = "/test/hogehoge"; $REAL_DIR = "/test/hogehoge"; $DEBUG = "debuglog.txt"; open(DEBUG,">$DEBUG"); @SYNCDIR = ( "root/", ); foreach $SYNC (@SYNCDIR){ $CMD = "$RSYNC_SCRIPT $RSYNC_OPTION $TEST_DIR/$SYNC $RSYNC_SVUSER$REAL_DIR/$SYNC"; system($CMD); } close(DEBUG); ------------------------------------------------------------ 現在はcronで定期的に自動更新がかかるようにしておりますが、 同期を取りたい時にIE上からフルパスでスクリプトを実行し サーバAからサーバBへ同期を取りたいです。 色々と調べているのですが、糸口が掴めない状態です。 どなたかお分かりになられればご教示頂きたいです。 よろしくお願い致します。