Help us understand the problem. What is going on with this article?

scpコマンドの注意点は?

More than 3 years have passed since last update.

概要

本番サーバ(linux)で出力したcsvファイルをローカルに持ってるくるにはどうすれば…そんなときにはscpコマンドを使えばよいよ!と教えてもらいました。

すると、別の方にこんなコメントをいただきました。

scpでサイズが大きいファイルを転送するときは気をつけてください。理由とどういった対策が必要かも考えてみてね☆(ゝω・)vキャピ

というわけで、調べてみることにしました(`・ω・´)ゞ

(調べてみたものの、間違っていたり、他にもあれば優しい方々がコメントくださることを期待しつつ…)

本題

scpコマンドとは?

  • sshと使ってホスト間で安全にファイルをやりとりするためのコマンドです。
  • 使い方はこんな感じです。
$ scp [オプション][転送したいファイル名][転送先のパス]

# たとえば…
$ scp toshi0607@[サーバのIPアドレス(名前解決もしれくれる)]:/home/toshi0607/nyanchu.txt ~/Desktop/

サイズが大きいファイルを転送するときの注意点は?

課題

  • scpは指定ファイル名のファイルをオープンして転送します。そのため、転送中にファイルにアクセスされると書き込み途中ファイルが読み込まれてしまったり、転送を中断した場合転送先のファイルが破損する可能性があります。

対策

  • 圧縮する -Cオプションを指定することで、データをコピーする際にデータを圧縮し転送することができます。
$ scp -C ユーザ名@リモートのホスト名:コピーしたいリモートのファイル ローカルのコピー先
  • 同期に一時ファイルを作成するrsyncを使ってファイルの破損を防ぐ(ファイルが大きく、時間がかかるとファイルへのアクセスリスクも高まるということで…)
$ rsync -e ssh toshi0607@[サーバのIPアドレス(名前解決もしれくれる)]:/home/toshi0607/ ~/Desktop/
# あくまでディレクトリ内の同期…最後に`/`をつけると、ディレクトリ毎同期します。

他の注意点は?

  • 同名のファイルやディレクトリがコピー先にあった場合、上書きしてしまう
  • sshのポート番号を変えている場合は-Pオプションを指定する
  • 秘密鍵で接続する必要がある場合は-iオプションを指定する

くらいでしょうか…

Linux全般学習アドバイスください!

以上です。サーバに入ってコマンドの打つのに無抵抗過ぎて、最近はLinux標準教科(Ver2.0.0)をCentOS上でコマンドたたいて勉強してます…最低限こんくらい知っとけ!みたいな記事や本があれば教えていただけると幸いです m(_ _)m

toshi0607
最近はGoとServerlessが好きです!
https://toshi0607.com/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした