rsyncサーバーを立ち上げて、VPS側のデータを、自宅PC側のLinuxサーバーに、cronで自動バックアップする方法。

 

要するに、説明するのが面倒なので、下記をご覧下さい。

http://tinyurl.com/o6bsw2h

(ここに全ての解説が詳しく書いてあります。)

つまりは、VPS側で、まず、サーバーのバックアップデータを作ります。("hogehoge.tar.gz"などでサーバーのデータ全体をまとめたり、"mysqlの全体のdump"などを取りまして、できるだけ毎日保存します。)

ここまでは普通のVPS側のバックアップですが、ここからが新しめです

VPS側で、rsyncサーバーをデーモンで立ち上げて、自宅側のPCのLinuxサーバーでは、cronにrsyncを書き込んで、時間になったら同期して自動バックアップする方法が、私のオススメの方法です。

そうすれば、自宅側のPCのLinuxサーバーは24時間点けっぱなしで良ければ、それが自動バックアップサーバーになりますよ。

私のサーバーのデーターは、全部まとめると、優にDropboxの方にデーターをバックアップする方法では足りない位のデータ量なので、そういう人向けの助けになればと思います。

私は、毎日バックアップをVPS側で取って、毎朝、家に置いてあるLinuxサーバーに自動バックアップしてます。

ファーストサーバーの教訓を忘れてはなりませんよね?

私のrsyncサーバー、自宅側のバックアップサーバーは順調に動いてますよ。お試しあれ!(^ω^)

 

 

 

 

 

—– まぁ、前置きが長くなりましたが、やってみましょうね。—–


 

【VPS側】

# apt-get install xinetd
# vi /etc/xinetd.d/rsync

service rsync
{
     disable = no
     socket_type = stream
     wait = no
     user = root
     server = /usr/bin/rsync
     server_args = –daemon
     log_on_failure += USERID
}


# vi /etc/rsyncd.conf


### グローバル・オプション
uid = root
gid = root
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid
hosts allow   = xxx.xxx.xxx.xxx
hosts deny    = *
### モジュール・オプション
[backup]
comment = rsyncd server
path = /home/userdir/backup
read only = no
auth users = user
secrets file = /etc/rsyncd.secrets

"hosts allow"には、自宅のPC側のIPアドレスを書き、"hosts deny"では"*"を書けば、同期時のセキュリティが高くなる。
"path"では、バックアップ元のファイルへのPATHを書き込みます。
"auth users"で指定した、"user"を、下記の/etc/rsyncd.secretsの"user"と一緒にする。ここで指定する、"user"は、/home/userdirの部分のuserdirの事ではなく、好きな名前を指定することが出来ます。


# vi /etc/rsyncd.secrets


     user:password

パスワードを指定し、メモっておきます。
 
# chmod 600 /etc/rsyncd.secrets

# chown root. /etc/rsyncd.secrets

/etc/rsyncd.secretsは、実行するユーザーを指定し(VPS側のrsyncd.confで指定したuid,gid)、更にパーミッションを600にしないと実行できません。

# vi /etc/services


226行目辺り、「rsync」を検索する。

rsync           873/tcp
rsync           873/udp

port番号が873が初期値ですが、それを好きなport番号に変えてもいい。
指定したport番号をiptablesなどで、空けてください。





# /etc/init.d/xinetd restart


 
【自宅のPC側】

# vi /etc/rsync.passwd

password


VPS側の、/etc/rsyncd.secretsで指定したpasswordのみを、自宅のPC側の/etc/rsync.passwdに書き記す。

# chmod 600 /etc/rsync.passwd

# chown root. /etc/rsync.passwd

/etc/rsync.passwdは、実行するユーザーを指定し(VPS側のrsyncd.confで指定したuid,gid)、更にパーミッションを600にしないと実行できません。

こんなの作って見ました。見る人は、余計にこんがらがるだろうか? 成功すると、自動でVPS側の指定データを、自宅PC側のバックアップサーバーと同期されます。

 

そして、ROOTにメールで、同期されたデータを通知します。

# vi /root/backup-server.sh

#!/bin/sh

##########################################################

# 設定【BACK_UP_PATHには末端の"/"が必須です。】

# BACK_UP_PATHはバックアップ先のPATHを指定します。
BACK_UP_PATH=/media/HDD/

# BACK_UP_LISTは、指定のファイル名を、BACK_UP_PATHのフォルダに書き記します。内容は、同期のファイル名が記されたデータです。
BACK_UP_LIST=BACKUP_SERVER_LIST.TXT

PASSWORD_FILE=/etc/rsync.passwd

# RSYNC_USER_NAMEは、VPS側の/etc/rsyncd.confのauth usersで指定したuserを書きます。
RSYNC_USER_NAME=user

# RSYNC_SERVER_IP_ADDRESSは、VPS側のIPアドレスを書きます。
RSYNC_SERVER_IP_ADDRESS=xxx.xxx.xxx.xxx

# RSYNC_SERVER_MODULEは、VPS側の/etc/rsyncd.confの[]でくくったモジュール名を書きます。
RSYNC_SERVER_MODULE=backup

# RSYNC_PORTは、デフォルトでは、VPS側のportが873ですが、変更しているのであったらそれに変えます。
RSYNC_PORT=873

# POSTFIX,DOVECOTを自宅側のPCにインストールし、動かしていると、ROOT宛に下記のメッセージを添えて、同期されたデータのメールが送信されます。
ROOT_MAIL_MESSAGE="VPSのこれらのデータが、バックアップサーバーに、自動バックアップされました。"

##########################################################

# 下記を一行で書きます。
/usr/bin/rsync -av –port=$RSYNC_PORT –password-file=$PASSWORD_FILE rsync://$RSYNC_USER_NAME@$RSYNC_SERVER_IP_ADDRESS/$RSYNC_SERVER_MODULE $BACK_UP_PATH > $BACK_UP_PATH$BACK_UP_LIST

cat $BACK_UP_PATH$BACK_UP_LIST | mail -s $ROOT_MAIL_MESSAGE root

# chmod +x /root/backup-server.sh

# vi /etc/crontab

00 5    * * *   root    /root/backup-server.sh

毎朝5:00にbackup-server.shが実行される。

 


(お まけヒント1)家でWindows等を併用している方は、家に置いてあるLinuxサーバーの自動バックアップする先のPATHをsambaで共有させて おくといいでしょう。Windowsから、毎日しっかりと自動バックアップが出来ているかどうか、確認しながら、生活が出来ますよ!(^ω^)

 

(おまけヒント2)家に置いてあるLinuxサーバーは、24時間点けっぱなしですから、radiotrayなどをインストールし、シャウトキャストラジオを24時間流しっぱなしでも良いかもしれませんね!(゚∀゚)

(お まけヒント3)家に置いてあるLinuxサーバーを24時間点けっぱなしなら、VPSも丸ごと自宅サーバーで運用した方がいいと思うかも知れませんね。私 は、VPSは24時間365日運営でいいですが、家のLinuxサーバーは何時電源を消しても、誰からも文句言われないので、気楽でいいと思います。


昨日、今日のMRTGのグラフが、波瀾万丈過ぎる!(;´∀`)



このグラフは、すごい激動の人生の感じのするグラフだなぁ。

何度も鯖落ちしまして、本当に皆さん済みませんでした。

私も手こずりましたが、VPS2G以上のサーバーはレンタルできませんのでね。

先立つ物が・・・。そんなに金持っていませんから(;´∀`)。

取りあえず、大祭お疲れ様でしたね!(^ω^)

LinuxMintでOSのバージョンを調べる方法。

$ lsb_release -a
No LSB modules are available.
Distributor ID:    LinuxMint
Description:    Linux Mint 13 Maya
Release:    13
Codename:    maya

$ uname -a
Linux Maya-Fujitsu 3.2.0-54-generic #82-Ubuntu SMP Tue Sep 10 20:09:12 UTC 2013 i686 i686 i386 GNU/Linux


参考:http://www.evernote.com/shard/s241/sh/d6c37e13-37e0-40d4-9e48-04f0b8e3f174/3eb15d1799647fa07bfe9f2a3390310e

XOOPSの、open_basedirを設定する方法。

 

# vi /etc/apache2/httpd.conf

 

<VirtualHost *:80>
        DocumentRoot /home/userdir/public_html/hogehoge
        ServerName thanks.linuxparadise.net
        php_admin_flag allow_url_fopen Off
        php_admin_flag safe_mode Off
        LayoutIgnoreURI *
        php_admin_value open_basedir "[XOOPSをインストールした先へのPATH]:[XOOPS_TRUST_PATHへのPATH]:/tmp"
</VirtualHost>

 

つまり、php_admin_value open_basedirで設定する値は、以上のような設定です。「:」でPATHを追加します。

 

XOOPSの設定が全てうまく行くと、下記のような画面が表示されます。

elementary OS 0.2 Lunaで、”x11vnc” + “xinetd”を使って、VNC画面を表示する方法。

elementary OS 0.2 Lunaは、lightdmを認証に使ってます。


# apt-get install x11vnc xinetd

# exit

$ x11vnc -storepasswd

$ sudo su

# vi /etc/xinetd.d/x11vnc

service x11vnc
{
type = UNLISTED
disable = no
socket_type = stream
protocol = tcp
wait = no
user = root
server = /usr/bin/x11vnc
server_args = -inetd -o /var/log/x11vnc.log -display :0 -forever -rfbauth /home/USERDIR/.vnc/passwd -forever -auth /var/run/lightdm/root/:0
port = 5900
flags = IPv6
}

# vi /etc/services

x11vnc 5900/tcp #VNC SERVER 最下行に付け加える。

# /etc/init.d/xinetd restart


これで、VNCの画面が表示されているかどうか、確認する。

Linux Mint 16 PetraでVNC接続に”x11vnc”と”xinetd”を使う方法。

# apt-get install x11vnc xinetd
# exit
$ x11vnc -storepasswd(パスワードをセットする)
# su
# vi /etc/xinetd.d/x11vnc

service x11vnc
{
port = 5900
type = UNLISTED
socket_type = stream
protocol = tcp
wait = no
user = root
server = /usr/bin/x11vnc
server_args = -inetd -o /var/log/x11vnc.log -display :0 -auth /var/lib/mdm/:0.Xauth -rfbauth /home/USERDIR/.vnc/passwd -forever
disable = no
}

# vi /etc/services

x11vnc          5900/tcp                        # VNC server(最下行に付け足す)

# /etc/init.d/xinetd restart

 

elementary OS 0.2 Lunaの画面。最近はこれをいじってます。

elementary OSが(・∀・)イイネ!! on Twitpic

なんか、専用のディスプレイドライバが、見つかって、インストールしたら、VNCで画面がおかしくなって、WindowsでのVNCの表示と、同期しなくなった。

その為に、専用のディスプレイドライバを削除して、通常の、最初から入っているディスプレイドライバを使うようにしたら、元通りに、VNCでは異常が見られません。

elementary OS 0.2 Lunaでは、aptitudeが入ってません。つまり、aptitudeをインストールしましょう。

そして、バグだと思いますが、

mail -s "うんたらかんたら" root

などとしたら、メールがROOT宛に送られますが、その-sの後のサブジェクトが日本語だと文字化けするよ。

後は今の所、悩み無用(;´∀`)。

 

elementary OS 0.2 LunaをVPSにインストールし、設定しました。

正月だから、やってみるか! と、

夜更かしして、朝まで、いや、昼まで作業してやっと\(^o^)/オワタ。

これから、しばらく、これを使ってみます。

OSの引っ越し作業は大変楽しいですね!(^ω^)

elementary OSは、シンプルだし、エレガントですよ!

みなさんも、いかがですか? ( ´∀`)

1 7 8 9 10 11 19