sshでエックスサーバーに接続しているときに、ファイルをzip化して、ローカルに落としたいと考えています。
目的は、既存のwordpressサイトをローカル環境で再現することです。cyeberduckなどでは重すぎてwordpressをまるごとローカルに転送できないため、sshでやろうと思っていますが、ssh接続できても、そこからzip化してローカルに落とすコマンドが分かりません。また、zip化中にサーバーに影響が出ないかも心配です(既存のwordrpessサイトが動かなくなるなど)。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答4件
0
ちょっとご質問への直接の答えじゃありませんが、私もレンタルサーバーで WordPress のサイトを運営しており、もしかしたら参考になるかもしれないなあ、と思ったので、ご紹介してみます。
WordPress を再現する(あるいはバックアップする、というのもほぼ同義になると思いますが)には、次の三つのデータをローカルに持ってこなければならないわけです。
0. ソース (WordPress 本体やプラグイン、テーマなどの HTML, js, css, image など)
0. mysql 内のデータ
0. アップロードしたデータ
それぞれ性質の違うデータなので、別々に処理するといいかな、と思います。毎回全部持ってくるとなると、いくら圧縮したとしてもかなりのサイズになりますし。
まず、1 の「ソース」については、私は git を使っています。ざっくり言えば、開発環境で開発して適宜 git push し、大丈夫となったら本番環境で git pull する、という運用です。リポジトリはローカルと本番環境のあるレンタルサーバにあるといいのではないかと思います。
git なら素人が下手に考えるよりよっぽど通信量を少なくする仕組みができているんだろうな、と期待しています。
2 の「mysql のデータ」は、私は mysqldump で Dropbox の領域に落としておいて、そのうち同期される運用にしていますが、通信量を減らすには、前回持ってきた分との差分を取り、その差分を圧縮して持ってくるのがいいのかもしれません。
3 の「アップロードしたデータ」については、私はアップロードしない、という運用にしているので、ローカルに持ってくる必要がありません。アップロードするファイルでいちばん多いのはたいていの場合は画像ファイルかと思いますが、私は画像ファイルは無料の WEB アルバムに置いておき、WordPress からはそれを参照するようにしています。
次の記事は、ローカルではなく、レンタルサーバ上に本番環境と開発環境を動かす運用の話を書いたものですが、現在はローカルの LAN 内に開発環境を作る準備をしていて、この仕組みを拡張している最中です。
グローバルIPアドレスが一つしかないサーバで本番用、開発用二つの WordPress を動かすために怠惰な私がやっている運用方法 : Qiita
投稿2016/01/28 00:35
総合スコア2468
0
必要なのは大きく分けて2種類あります。
1.HTMLやPHP、画像などの、いわゆるファイルと呼ばれるもの
2.データベース内のデータ
【1.HTMLやPHP、画像などの、いわゆるファイルと呼ばれるもの】
ご自身のサイトのドキュメントルートはお分かりでしょうか。
public_htmlやwwwなどといった名前がついていると思います。
エックスサーバーではpublic_htmlでしょうか。
それを丸ごと圧縮するのが簡単と思います。
public_htmlが見えているディレクトリで
zip -r public_html.zip public_html
とコマンドを打ってください。
public_html.zipファイルが出来ます。
それをcyeberduckでダウンロード(必ずバイナリモードで)すれば良いです。
FTPする際の大きなボトルネックはファイル数が非常に多い場合です。
圧縮された1ファイルの方が圧倒的に早くダウンロードできます。
ローカルでの解凍にも時間がかかる可能性がありますが、解凍されましたら、ローカルのWebサーバの領域に移動させてください。
wp-config.phpのデータベースの接続先は書き換えてください。
【2.データベース内のデータ】
XSERVERですと、phpMyAdminでデータベースにアクセスする機能がついているのではないでしょうか。
そこでWordpressのデータが入っているデータベースを選んでエクスポートし、ファイルをダウンロードしてください。
データベース内のテーブルやデータを構築するSQL文がダウンロードできますので、ローカル環境のデータベースに接続して実行してください。
私はローカルにはコピーしたことはないのですが、もしかしたらデータベースのサイトのURLも書き換える必要があるかもしれません。
投稿2016/05/15 10:35
総合スコア479
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
コンピュータの素人向けの話であれば、ここまで話すのは冗長ですが、
いちおうここは技術者向けのサイトのはずなので用語やツールに関して整理させてください。
Cyberduck と SSH の関係
Cyberduck は FTP というプロトコルでファイル転送を行うためのツール(クライアント)です。
そして、SSH というのは FTPのような特定用途向けのプロトコルの下位にあって、
通信のセキュリティを確保するためのプロトコルです。
(そして、 sshコマンドはこのプロトコルを使ってリモート接続を行うためのコマンドです。)
ですので、FTP をSSH を通して行う SFTP というプロトコルが存在し、
Cyberduck も SFTP に対応しています。
つまり、Cyberduck から SSH は使えます。
SSH と通信速度
SSH は通信速度のために選択するものではなく、セキュリティのために使うものです。
もしも、誰に傍受されてもイタズラされても構わない、そんなことよりスピードだ、
とお考えであれば、SSH を使うメリットはありません。
(ただ一般常識として、レンタルサーバ等と自宅PCとの通信をインターネット経由で行う場合は SSH を使うことをお勧めします。
それは通信速度のためではなく、通信速度を犠牲にしてもその程度のセキュリティリスク回避策はとるべきだという考えからです。
あなたのサーバーが他人に乗っ取られて犯罪に使われないように、といったような話です。)
そして、通信速度に関しては、SSHを使用した場合、
デフォルト設定の Cyberduck(おそらく素の FTPで転送を行う)
と比べて、たいていの場合遅くなるはずです(暗号化複合化などのよけいな手間がかかるため)。
どのようにダウンロードすべきか
デフォルト設定の Cyberduck(おそらく素の FTPで転送を行う)での転送時間が問題になるようなサイズの場合、
サーバーの CPU パワーにもよりますが、圧縮に相当の時間がかかると思います。
したがって、サーバ側で完結するようなコマンドを夜に実行して朝や次の日帰宅してから
ダウンロードするといったやり方が現実的だと思います。
自分であれば、teratermなどで SSH ログインして
$ ((tar cvf - 対象フォルダパス | gzip > 作成したいファイル名.taz ) >& log )&
とやって、次の日などに再度ログインして、
$ cat log
でエラー等がでていなければ、使い慣れたダウンロードツール
(Cyberduck でも構わないと思いますよ。私なら SFTP に設定して使いますが。)
でダウンロード。
といった手順でしょうか、tar や gzip を使っているのは使い慣れているからにすぎません、
アーカイブツール、圧縮フォーマットはあなたが手慣れた物を使えばいいと思います。
ただ、可逆圧縮の場合、意味のある文章データなどのサイズが半分以下になることはまれなので、
ダウンロード時間は劇的には短くはならないと思います。
それでも、一気に大量のファイルをダウンロードするなら、
一つのファイルにまとめた方が、いろいろと効率はいいと思います。
投稿2016/02/04 13:00
編集2016/02/04 13:16総合スコア1193
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
こんな感じでしょうか?環境はunix系OSを想定しています。違う場合は読み替えてください。。。
A% ssh username@B 'zip - FILENAME' > ./FILENAME.zip
A...ファイルをZIP保存するサーバのプロンプト
B...ファイルが保存されているサーバ
しかし複数ファイルを取ってきて展開するのでしたら、
A% ssh username@B '(cd /dir/; tar cpf - *)|bzip2 -9 -' | bzip2 -dc - | tar xpf -
の方が、良いかもしれません。文字長が長い場合、文字コードが様々や階層が深いなどの場合は、tarの方が向いています。
tar xpf - を tar tvf - にすると、事前に展開されるファイルが見れます。 t はテストですので実際には展開されません。xpf を xpvf にすると展開中にリストが見えますが遅くなります。
投稿2016/01/26 13:43
編集2016/01/26 16:16総合スコア1768
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。