Symfoware

Symfowareについての考察blog

Ubuntu 14.40 CopyCmdを使用して、Copy.comにファイルのアップロート、ダウンロード

copyのアカウントを作成。ファイルのアップロードを行ってみました。
無料で15GBのストレージが使える「copy」


GUIの無い環境でのファイル同期は、CopyConsoleを使用すると良さそうです。
Copy.com を Linux から使う


同期フォルダを設定するのではなく、ファイルやフォルダを直接指定して
アップロードやダウンロードができないか調べてみました。



CopyCmd



https://copy.com/install/linux/Copy.tgz

前回、ここからダウンロードしたツールの中にある
「CopyCmd」が目的のツールのようです。

580_01.png


ヘルプを見てみると、こんなオプションがある模様。


Usage:
CopyCmd [module] [module arguments] [verb] [verb arguments]

Module - Cloud
Cloud - Muck with stuff in your cloud copy folder
usage: Cloud [ -authToken= | -cloudAddress= | -debugOutput | -password= | -username= ]

Options:
    -authToken= Authentication token to login with
    -cloudAddress= Url to talk to
    -[ debugOutput | debug ] Enable debug message masks
    -password= Password for the login
    -username= Login to the cloud as this user

Commands supported by this module:
authClient - Authenticates a user with a password
usage: authClient

checkAuth - Validates an authentication token
usage: checkAuth

exclude - Manage exclusions
usage: exclude [ -exclude | -list | -unexclude ] [cloud path1] [cloud path2] [...]

Options:
     -exclude Exclude
     -list List current excludes
     -unexclude Unexclude

get - Gets a file
usage: get [ -r ] [cloud path] [local path]

Options:
     -r recurse

link - Gets a public link to one or more paths (wild cards accepted)
usage: link [ -regex | -t ] [path1] [path2] [...]

Options:
     -regex Regex
     -t Token only

[ ls | dir | list ] - Lists a path (wild cards accepted)
usage: [ ls | dir | list ] [ -d | -e | -p | -r | -regex ] [path1] [path2] [...]

Options:
     -d Include deleted
     -e Include excludes
     -p Include parts
     -r Recurse list
     -regex Regex

mkdir - Creates a directory
usage: mkdir [path]

put - Uploads a file to the cloud
usage: put [ -r ] [local path] [cloud path]

Options:
     -r Recursive list

rm - Removes a directory or file
usage: rm [path]

undelete - Undeletes a directory or file
usage: undelete [path]

Module - Config
Config - Muck with your Copy agent configuration, including hidden advanced options
*WARNING* Modifying entries in here can break Copy!
usage: Config

Commands supported by this module:
default - Resets the configuration to default
usage: default [option name]

get - Gets a configuration option
usage: get [config name]

list - Lists one or more configuration options
usage: list

put - Puts a configuration option
usage: put [option name] [option value]

Module - Debug
Debug - Utilities to help figure out what went wrong with Copy
usage: Debug

Commands supported by this module:
audit - Audit local file set
usage: audit [ -showFiltered ] [path]

Options:
     -showFiltered Display paths that have been filtered out

feedback - Send feedback
usage: feedback [ -message ]

Options:
     -message Message for feedback

msg - Enables/Disables message log output in Copy agent
usage: msg [ -disable | -enable | -list ] [msg1] [msg2] [...]

Options:
     -disable Disables one or more messages
     -enable Enables one or more messages
     -list Lists all available messages

resync - resyncs shares or performs a hard reset of share list
usage: resync [ -shares ]

Options:
     -shares Replace local share list with shares from cloud

showUi - Causes a running agent to show its UI
usage: showUi

Module - Overlay
Overlay - Commandline options for the overlay, install, repair, remove, etc.
usage: Overlay

Commands supported by this module:
install - Installs the Copy overlay lib on this machine, may require admin privileges
usage: install

remove - Un-installs the Copy overlay from this machine
usage: remove

repair - Repairs the installation of the overlay on this machine
usage: repair

status - Reports status of a path (wild cards are supported)
usage: status [ -d | -w ] [path1] [path2] [...]

Options:
     -[ d | detailed ] Shows detailed status
     -[ w | watch ] Continually watch path for changes for the specified number of milliseconds (default to 5000)

Module - Peer
Peer - View and communicate with copy peers across the network
usage: Peer

Commands supported by this module:
list - Discovers copy peers on the network
usage: list

send - Sends a file to a peer
usage: send [local path] [peer name]






get



Raspberry piで、Copy.comへファイルを手動転送

こちらを参考にファイルの取得を行ってみます。

コマンドを実行してauthTokenを取得したほうが良いのですが、
サンプルということでパスワードを直接指定してダウンロードしました。

単一ファイルのダウンロードはこんな感じです。


$ ./CopyCmd Cloud -username=[登録時のメールアドレス] -password=[パスワード] get [クラウドパス] [ローカルの保存先]




testフォルダにあるcc2.jpgを取得してみます。

580_02.png



$ ./CopyCmd Cloud -username=mail@example.com -password=P@ssw0rd get /test/cc2.jpg /home/user/image/cc2.jpg

Logged in as mail@example.com
Downloading '/test/cc2.jpg' to '/home/user/image/cc2.jpg' - 0 B / 216.5 kB




これで指定のフォルダに対象ファイルがダウンロード出来ました。


指定フォルダの内容を再帰的に取得したい場合は
「-r」オプションをつけます。


$ ./CopyCmd Cloud -username=mail@example.com -password=P@ssw0rd get -r /test /home/user/image






put



ファイルを登録するのはこんな感じです。


$ ./CopyCmd Cloud -username=[登録時のメールアドレス] -password=[パスワード] put [ローカルファイル] [クラウドパス]




testフォルダに画像を追加してみます。


$ ./CopyCmd Cloud -username=mail@example.com -password=P@ssw0rd put /home/user/image/001.jpeg /test/

Logged in as mail@example.com
/home/user/image/001.jpeg -> /test/001.jpeg
(32.6 kB / 32.6 kB) [0 B/sec]




追加できました。

580_03.png


こちらも「-r」オプションでフォルダを再帰的に追加できます。


$ ./CopyCmd Cloud -username=mail@example.com -password=P@ssw0rd put -r /home/user/image/test3 /

Logged in as mail@example.com
/home/user/image/test3/img_0.jpg -> /test3/img_0.jpg
(105.4 kB / 105.4 kB) [0 B/sec]            
/home/user/image/test3/img_1.jpg -> /test3/img_1.jpg
(87.2 kB / 87.2 kB) [0 B/sec]            
/home/user/image/test3/cc2.jpg -> /test3/cc2.jpg
(216.5 kB / 216.5 kB) [0 B/sec]



580_04.png



rm



rmコマンドで、ファイルやフォルダを削除できます。
/test/001.jpegを削除してみます。


$ ./CopyCmd Cloud -username=mail@example.com -password=P@ssw0rd rm /test/001.jpeg



580_05.png


test3フォルダを削除してみます。


$ ./CopyCmd Cloud -username=mail@example.com -password=P@ssw0rd rm /test3



580_06.png



undelete



削除したファイルやフォルダの復元が行えます。
先ほど削除したtest3を復元してみます。


$ ./CopyCmd Cloud -username=mail@example.com -password=P@ssw0rd undelete /test3




復元出来ました。

580_07.png




mkdir



フォルダの作成が行えます。
test4フォルダを作成してみます。


$ ./CopyCmd Cloud -username=mail@example.com -password=P@ssw0rd mkdir /test4



580_08.png




プログラムから実行



ここまでわかれば、プログラムから実行するのは簡単です。
例として、phpからCopyCmdを実行して、test4フォルダにファイルをアップロードしてみます。


  1. <?php
  2. $cmd = '/opt/copy/CopyCmd Cloud';
  3. $cmd .= ' -username=mail@example.com';
  4. $cmd .= ' -password=P@ssw0rd';
  5. $cmd .= ' put /var/www/data/001.jpg /test4/';
  6. system($cmd);




ちゃんとアップロード出来ました。

580_09.png



【参考URL】

Copy.com を Linux から使う

[備忘録]Raspberry piで、Copy.comへファイルを手動転送



関連記事

テーマ:プログラミング - ジャンル:コンピュータ

  1. 2015/03/05(木) 00:42:14|
  2. 備忘録
  3. | トラックバック:0
  4. | コメント:0
  5. | 編集
<<PythonからSupervisorのXML-RPC APIに接続する | ホーム | 無料で15GBのストレージが使える「copy」>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://symfoware.blog68.fc2.com/tb.php/1671-8f09d0be
この記事にトラックバックする(FC2ブログユーザー)