Web サイトいじりのための Ubuntu (その2)

前回に引き続きまして、Web サイトいじりのための Ubuntu (その2)です。 WordPress 個人ブログなどをレンタルサーバに持っている方向けの、Ubuntu Tips。 前回は SSH でレンタルサーバに鍵認証で接続して、Nautilus と統合までしましたので、その次に進んでみます。 🙂

hiromasa.another :o)» Blog Archive » Web サイトいじりのための Ubuntu (その1)

ここみたいな個人 WordPress サイト(レンタルサーバのPHPアプリ)をいじる感じ向けの Ubuntu Tips を書いていこうと思います。 そうじゃないのも混ざってくるかもですがよろしくおつきあいを。

Linux を使っていると GUI と CUI のハイブリットが使えて結構便利ですが、GNOME の場合、Nautilus ファイルマネージャに以下の拡張をいれると表示ディレクトリを cd することなく端末に開いてくれるようになり、両利用が使いやすくなります。

後で使いますので、とりあえずいれておきましょう。 🙂

sudo apt-get install nautilus-open-terminal

さて、今回のテーマはレンタルサーバのファイル編集。

前回 SSH で接続しましたので、Nautilus ファイルマネージャからローカルファイルを転送できるようになりましたが、実は Nautilus はリモート側のファイルを直接編集することができます。

Nautilus の SSH 接続は内部的に Linux の FUSE (Filesystem in Userspace) と GNOME の gvfs で実装されていますが、これはリモートコンピュータをローカルディレクトリにマッピングしている感じの動作になります。 ゆえに、そこのファイルをアプリで書き換えるとうまいことリモートが書き換わります。

理屈は抜きに実践は簡単。 普通にレンタルサーバのディレクトリを Nautilus で開いて…

ubuntu1101

こうですら。 いちいちローカルにファイル落として編集後転送し直す必要はありません。

たとえば Geany テキストエディタで編集して保存すればそれだけでレンタルサーバ側が更新できます。 ローカルでの確認の必要ないちょいなおしの場合、急ぎの場合に非常に便利です。

# ぼくの環境だけかもですが Ubuntu 10.04 のときは保存後ファイルが 0byte になる不具合がでたことがあるので、初めてやるときは一応バックアップとってからやってください。 10.10 では問題ないようです。

さてこんなことやっていると、サーバ側がマスターになりはじめ何がなんだかになってしまいますが、UNIX の rsync というコマンドを使うとリモート –> ローカルに同期コピーしておくことができます。

これは wp-content 配下の画像ファイルなどのバックアップにも有効ですので、たまに実行しておくとよいです。

まずはローカルのどこかにディレクトリを作成して以下のファイル構成にします。 current ディレクトリは空です。

ubuntu1102

backup.sh の内容を以下のように作成します。

#!/bin/sh
 
rsync -avz --delete [ユーザ名]@[接続先ホスト名]:/[バックアップするディレクトリ]/ ./current/

コアサーバ/XREA 系であればこんなかんじです。 最後のスラッシュとか気をつけてください。 ぼくは面倒なので public_html 配下をフルバックアップとっていますが、wp-content の下だけでもいいかもしれません。

rsync -avz --delete another@s8.coreserver.jp:/virtual/another/public_html/ ./current/

できたら、backup.sh に実行権限をつけます。「プログラムとして実行できる。」

ubuntu1104

でもって、Nautilus から先にインストールした「端末の中で開く」を行って、

ubuntu1102

ターミナルをひらいて、、

./backup.sh

これで、ドヴァーっとファイルがリモートから転送されてきます。 ログイン認証は、前回の鍵認証をつかってくれます。 初回はホスト登録をきいてくるかもしれないので、”yes” してください。

初回なのでリモートファイルが全部転送されてきます。 この場合コアサバとかだと転送制限かたまにとまりますので、何回か試行します。 差分で持ってきますのでそのうち error なしで終わるはずです。

エラーの場合。 rsync error の文字列がみえます。

rsync: connection unexpectedly closed (255369687 bytes received so far) [receiver]
rsync error: error in rsync protocol data stream (code 12) at io.c(601) [receiver=3.0.7]
rsync: connection unexpectedly closed (1345764 bytes received so far) [generator]
rsync error: unexplained error (code 255) at io.c(601) [generator=3.0.7]

うまくいった場合。

sent 836 bytes  received 1668777 bytes  90249.35 bytes/sec
total size is 1139108950  speedup is 682.26

一度全部取得すれば、あとは差分でとってくれますのでたまに実行してあげるとファイルバックアップになってよいでしょう。 🙂

WordPress のバージョンアップ前など、必要に応じて current を別にコピーしておくとそちからバージョンアップ前に復元できます。(もちろんその前に DB も戻しが必要がありますね)

あとこの current ディレクトリはあくまでバックアップとしてここのファイルは編集しないほうがよいでしょう。 編集する場合は他にコピーしてからという方向で。

また、Ubuntu の場合、Ubuntu One 監視ディレクトリでこの操作を行うと、自動的にクラウド側にさらにバックアップできることになります。 Dropbox Linux 版でも同様にできるのかな。 便利ですね。

というわけで、以上その 2 でした。 次は、subversion についてか、xampp のインストールか、、ちょっと古くてよければ関連記事(↓)にでていると思いますので先にそちらを。 😀

ぼのを 「ちょっぱーを寝かせてきます。」

    W      W
 ( '∇')(´—`)
ヽ| P |人| P |ノ
このエントリーをはてなブックマークに追加
  • rsync01.png
    WordPress のファイルバックアップ
    rsync, バックアップ, ファイル, ディレクトリ, current, WordPress, サーバ, MySQL, コア, データ, 転送, SSH, another, 自動, hiromasa, サバ, ローカル, 差分, 指定, --delete
  • lampp00.png
    Ubuntu に XAMPP をいれてローカル WordPress
    ローカル, Linux, XAMPP, lampp, opt, hiromasa, ファイル, WordPress, サーバ, 26, wordpress, レンタル, htdocs, ディレクトリ, 以下, 値, 10, 12, 18, 2008
  • mac-fuse01.png
    Mac での開発環境構築
    Mac, サーバ, OS, ファイル, Eclipse, リモート, 操作, Linux, PHP, eclipse, for, 設定, FUSE, PDT, SSH, enter, to, コマンド, 起動, 3.1.1
  • ubuntu1032.png
    Web サイトいじりのための Ubuntu (その1)
    サーバ, ファイル, hiromasa, キー, レンタル, 接続, ssh, CTRL, 場合, 設定, 鍵, dsa, SSH, id, コマンド, Ubuntu, Web, internet, カーソル, 入力
  • oosouji02.png
    年末のデータバックアップ
    config, バックアップ, redmine, データ, サーバ, ファイル, Redmine, redmine-, tomcat, war, 1.0.4, Subversion, バージョン, Dropbox, tar, -S, 1.0.1, apache, gz, home

コメントを残す

メールアドレスが公開されることはありません。