Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Restartable scp over SSH 再開可能なコピーコマンド

46 views
Skip to first unread message

Yasushi Shinjo

unread,
Sep 19, 2007, 11:23:10 PM9/19/07
to
新城@筑波大学情報です。こんにちは。

scp で巨大なファイルをコピーしようとしています。2GB くらい。
でも、途中で止まったりすることがあるので、再開可能なscp があ
るといいなあと思いました。そういうプログラムはどこかにありま
せんか。

wget コマンドなら、-c オプションがあります。それの scp 版が
欲しい所です。

------------------------------------------------------------
% wget --help
GNU Wget 1.5.3, a non-interactive network retriever.
Usage: wget [OPTION]... [URL]...
...
Download:
...
-c, --continue restart getting an existing file.
------------------------------------------------------------

scp コマンドを改造して入れるのが、一番真っ当な作り方かなあと
は思います。split して、分割してコピーして組み立てるようなス
クリプトを作るというよりは。そもそも lseek すれば、分割する
必要はないですし。

双方向の通信ができる仮想回線上で、再開可能なコピー・プログラ
ムというのは、ssh の時代というよりは、昔の電話回線の時代なら
普通に欲しかった機能です。その当時のプログラムが動くなら、そ
れでもいいのかもしれません。

今欲しいのは、Unix 系の OS (MacOSX) で動作するものです。ネッ
トワークニュースですので、他の環境で動作するものの情報でも、
喜ばれると思います。

\\ 新城 靖 (しんじょう やすし) \\
\\ 筑波大学 電子・情報       \\

NAKAJI Hiroyuki

unread,
Sep 20, 2007, 12:37:35 AM9/20/07
to
中治@鳥取です。

>>>>> In <YAS.07Se...@kirk.is.tsukuba.ac.jp>
>>>>> y...@is.tsukuba.ac.jp (Yasushi Shinjo) wrote:

> scp で巨大なファイルをコピーしようとしています。2GB くらい。
> でも、途中で止まったりすることがあるので、再開可能なscp があ
> るといいなあと思いました。そういうプログラムはどこかにありま
> せんか。

rsync で --partial を使うというのはどうでしょうか。

--partial
By default, rsync will delete any partially transferred file if
the transfer is interrupted. In some circumstances it is more
desirable to keep partially transferred files. Using the --par-
tial option tells rsync to keep the partial file which should
make a subsequent transfer of the rest of the file much faster.

失敗または中断した次の実行時に、続きをやってくれるらしいです。
--
NAKAJI Hiroyuki (中治 弘行)

Yasushi Shinjo

unread,
Sep 27, 2007, 12:34:44 AM9/27/07
to
新城@筑波大学情報です。こんにちは。

In article <871wcur...@roddy.4407.kankyo-u.ac.jp>


NAKAJI Hiroyuki <nak...@kankyo-u.ac.jp> writes:
> > scp で巨大なファイルをコピーしようとしています。2GB くらい。
> > でも、途中で止まったりすることがあるので、再開可能なscp があ
> > るといいなあと思いました。そういうプログラムはどこかにありま
> > せんか。
> rsync で --partial を使うというのはどうでしょうか。

> 失敗または中断した次の実行時に、続きをやってくれるらしいです。

これは、いいですね。試してみた所、ちゃんと使えました。ありが
とうございます。こんな感じです。

% setenv RSYNC_RSH ssh
% rsync --partial file hostname:dir

遠隔ログインしている先でやったので、実際にはこんな感じ。

nohup rsync --partial file hostname:dir </dev/null >& /dev/null

0 new messages