rsyncを一時停止/再開するにはどうすればよいですか


49

実行中のrsyncを一時停止するにはどうすればよいですか?

初めてCtrl+ を実行Cしてそれを強制終了し、-Pフラグを使用して再度実行しました。これは現在のファイル転送を破損する傾向がありますか?

2回目は、MacOSをスリープ状態にするだけです(蓋を閉じます)。実行中のプロセスを見ると、ステータスが「S」の2(理由は不明)が表示されます。

使用してみました

kill -SIGCONT

プロセスを再開しますが、効果はありません。

回答:


61

TSTP(丁寧な)またはSTOP(強制的な)シグナルを送信することで、プログラムを一時停止できます。実行rsyncした端末で、Ctrl+ Zを押しますTSTP。端末または信号でコマンドfgまたはbgコマンドを使用して再開しCONTます。

rsyncプロセスを強制終了して、すべてを再度実行しても安全です。中断したところから続行します。特に渡さ--partialれていない場合(に含まれている場合-P)、rsyncすべてのファイルを再度チェックし、最初から中断されたファイルを処理するため、少し非効率的かもしれません。

オプションの異常な組み合わせがあり、一部のファイルが適切に同期され--inplaceない場合があります。おそらく他のファイルと同期しますが、これを引き起こす単一のオプションはないと思います。

ラップトップを切断して別の場所に再接続すると、別のIPアドレスが取得される場合があります。次に、rsyncが使用するTCP接続が切断されるため、それを強制終了して再起動する必要があります。これは、ラップトップを中断してTCP接続がタイムアウトした場合にも発生する可能性があります。タイムアウトは、最終的にアプリケーションレベルにフィルターされますが、しばらく時間がかかる場合があります。Ctrl+ を押してCrsyncを再度実行しても安全です。


1
実際に強制終了するrsync -avhと、コピーされている現在のファイルが単純に失われます。ファイルが大きい場合、かなりの時間が失われます。たぶん、Ctrl+z一時ファイルを移動(ドットで始まる)、その後、Ctrl-Crsyncのよりよい解決策かもしれません。
マラ14年

このような詳細な説明をありがとう。明確にするために、ctrl + zで一時停止、fgで再開、bgで停止します。
プレサガス

3
@Praesagus bgにプロセスを置くB ACK グラムラウンドではなく、停止します。
ヤリケイネン16

--partial必要なものです。21GBのデータをコピーしようとしていますが、その中に6.6GBのファイルがあります。問題は、数GBのデータ転送後にネットワークが接続を切断--partialすることです。これはまさに必要なことです。
AnthonyD973

20

Ctrl+ Z中断するため、および:

$ fg

続行するには、使用

$ jobs

一時停止中のジョブを表示します。bg [number]それらを背景に; fg [number]前景に。


2
Ctrl+S基になるプログラムではなく、スクロール出力のみを一時停止します(端末が出力を受け入れるのを待ってブロックされない限り)。また、無効になっていない場合のみ。
ジル 'SO-悪であるのをやめる'

1
現在の「S」ステータスでは、再開しません。Ctrl + Cを使用して強制終了し、rsyncを再度実行しても安全ですか?他にどんなオプションがありますか?でも次回はそれを念頭に置いて、感謝します。
-qnoid

1
また、Ctrl-Zでプロセスを一時停止すると、しばらくしてから、そのプログラムによって確立されたTCPネットワーク接続がタイムアウトになる可能性があります。したがって、rsyncを数分以上中断したままにしておくと、フォアグラウンドに戻すとエラーメッセージで突然終了し、開いたソケットが読み取りと書き込みからエラーを返していることがわかります。
ジム・デニス

8

フラグを指定rsyncして実行します--partial。その後、部分転送を保持し、開始時に部分ファイルを再開します。


5

ここの人々は、使用して言及している--partial、それはそれはときにのみ再開していることが言及される必要があり、フラグ作品を--appendまたは--append-verify再開時にフラグが使用されています。

--partial同期プロセスを完了していないファイルの隠しファイルを作成します。同期を中断してもファイルは保持されます。--append再開後に使用する場合はファイルの補完が続行され、そうでない場合は--append、不完全な隠しファイルが保持され、不完全なままになります。

結論:あなただけ中断することができますrsync --partial使用してCtrl+をC使用する場合にはrsync --append再開するとき

(情報源:中断後にrsyncを再開できますか? 2016年4月5日取得)


使用したことがある場合はrsync --avP <source> <destination>、CTRL + Cで一時停止してから、rysnc --append?と入力するだけで再開する必要があります。
キングメーカーキング

@kingmakerkingはい
メーディネレン

@kingmakerking:いいえ。最初のrsyncのオプション、およびソースと宛先が必要です。再開するには、以前のrsyncコマンドを再起動し、既存のオプションに追加 --appendします。
mivk
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.