0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

SCPコマンドでファイルをローカルにダウンロードする手順(SORACOM Napter前提)

Last updated at Posted at 2024-11-09

概要

SCPコマンドの使い方はなんとかわかったのでいざやってみるとpermission deniedになる。うまくデータが送れない。そんな人向けの備忘録です。

※ SORACOM Napterによるsshが前提

背景

普段から頻繁に使うわけではないけど定期的に使う。この類って一番困りませんか?

私の場合は、SCPコマンドがそれです。特にSORACOM Napterを経由してログを取ってくるみたいな操作ですね。

1年に3回あれば多いぐらいの操作なので次やるときは脳がリセットされてます。

権限の確認

送信したいファイルの所有者と送信するユーザが異なる場合、権限不足でエラーになりがちです。そんなときはchmodコマンドによる権限変更が必要です。

# 所有者以外のユーザが送るときの権限追加の例
chmod 757 {ファイル名}

ファイルによっては実行後に権限を戻すなどの判断が必要になることもあります。

ちなみにchmodコマンドを実行して下記のエラーが出た場合はmountコマンドを実行するか、cpコマンドでマウント済みのディレクトリへ移動させてからchmodコマンドを実行しないといけないようです。

chmod: changing permissions of '{変更対象のファイルやディレクトリ名}': Read-only file system

コマンドTips

ここからはSORACOM Napterを前提としたscpコマンドを紹介します。

ファイル単位で送りたい場合のコマンド

scp -P {ポート番号} {ユーザ名}@{IPアドレス}.napter.soracom.io:{送信元ファイルパス}  {送信先ファイルパス}

例) hoge.txtをDocuments配下に送る。(送信者はuser1)

scp -P 26157 user1@33-33-333-33.napter.soracom.io:/home/user1/test/hoge.txt  /Users/hoge/Documents/

フォルダ単位で送りたい場合のコマンド

-r オプションをつけてパスをディレクトリ直指定すればOK

scp -r -P {ポート番号} {ユーザ名}@{IPアドレス}.napter.soracom.io:{送信元ディレクトリパス}  {送信先ディレクトリパス}

例) testディレクトリをDocuments配下に送る。(送信者はuser1)

scp -r -P 26157 user1@33-33-333-33.napter.soracom.io:/home/user1/test  /Users/hoge/Documents/

ケーススタディ

consolelog配下のファイルをuserユーザ経由でローカルに送信したい。

consolelog配下のファイルはroot所有なのでそのままコマンドを実行してもダメです。
権限を変えようと思ってchmodコマンドを実行したところ下記のエラーがでました。

chmod: changing permissions of 'consolelog/': Read-only file system

そこでcpコマンドを使ってhome/user1配下にディレクトリ毎コピーします。

cp -r consolelog /home/user1/consolelog

なお、複製先のファイルの所有者はコマンド実行者になります。例えばrootで実行した場合は、所有者がrootになります。(今回はrootがコマンドを実行したとして話を進めます。)

 /home/user1/consolelogにファイルが複製されていますが、このままだとuserはファイルを見る権限しかないのでchmodコマンドでを実行します。今回は /home/user1/consolelog配下の全てのファイルが対象なので /home/user1/consolelogに移動した上で下記コマンドを実行します。

chmod -R 757 .

※ 厳密には他ユーザに対する読み込み権限だけ付与されていればいいかもです。

最後にscpコマンドを実行します。今回はフォルダ毎ダウンロードしたいので下記コマンドを実行します。

scp -r -P 26157 user@33-33-333-33.napter.soracom.io: /home/user1/consolelog  /Users/hoge/Documents/
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?