Mar
13
2010
0

wakeonlan

16:37 pm

Ubuntu Server 9.10に Wake on LAN をインストールして、NASと電源連動にします。
$ sudo apt-get install wakeonlan

実行結果です。成功したようです。

hbirds@UbuntuServer:~$ sudo apt-get install wakeonlan
[sudo] password for hbirds:
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
  wakeonlan
0 upgraded, 1 newly installed, 0 to remove and 21 not upgraded.
Need to get 11.4kB of archives.
After this operation, 73.7kB of additional disk space will be used.
Get:1 http://ports.ubuntu.com karmic/main wakeonlan 0.41-10 [11.4kB]
Fetched 11.4kB in 1s (8572B/s)
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
	LANGUAGE = (unset),
	LC_ALL = (unset),
	LANG = "ja.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
Selecting previously deselected package wakeonlan.
(Reading database ... 43772 files and directories currently installed.)
Unpacking wakeonlan (from .../wakeonlan_0.41-10_all.deb) ...
Processing triggers for man-db ...
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
	LANGUAGE = (unset),
	LC_ALL = (unset),
	LANG = "ja.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
/usr/bin/mandb: can't set the locale; make sure $LC_* and $LANG are correct
Setting up wakeonlan (0.41-10) ...

対応したはずなのに、まだperl: warningが出てます。

あとは、crontabをこのサイトのように修正すればよいだけです。

Mar
13
2010
0

NASにcronで自動バックアップするシェルスクリプト

11:02 am

サーバーUbuntu Server 9.10 PPCの特定のディレクトリ内のデータをLANでつながっているNASにcronで定期的に自動バックアップするシェルスクリプトを作ってみたいと思います。
前提として、NASには共有フォルダが作成されており、サーバーにインストールしたsambaで認識できるようになっていることとします。

・バックアップ元(サーバー)ディレクトリ
/home/hbirds

・バックアップ先(NAS)ディレクトリ
/share

・事前の準備
NASbackup.shを文字コードUTF-8で作成し、/usr/local/sbin/に設置します。
$ sudo chmod 755 /usr/local/sbin/NASbackup.sh
$ sudo mkdir /var/backup

シェルスクリプト NASbackup.sh /usr/local/sbin/NASbackup.sh
以下の例では、バックアップ先のコンピュータ名=NAS、共有フォルダ名=share、NASのパスワード=password、NASのユーザー名=adminとなっていますが、自分の環境にあわせて設定します。

#!/bin/sh
#バックアップ・ログの保存場所
LOG=/var/backup/log.txt
#バックアップ対象になるディレクトリ
BACKUP_OJBECT=/home/hbirds
/bin/tar cvjf /tmp/backup_`/bin/date +%y%m%d%H%M`.tar.bz2 $BACKUP_OJBECT/* >> $LOG
cd /tmp
echo '-- Backup File ---' >> $LOG
/bin/ls backup_* >> $LOG
/usr/bin/smbclient //NAS/share password -U admin -c "prompt; mput backup_*.tar.bz2" >> $LOG
rm -f *.tar.bz2 >> $LOG
echo '------------------' >> $LOG
echo `/bin/date` >> $LOG
echo '------------------' >> $LOG

シェルスクリプトを実行して確認
$ sudo /usr/local/sbin/NASbackup.sh
実行結果です。以下のとおり成功しました。

hbirds@UbuntuServer:/usr/local/sbin$ sudo NASbackup.sh
/bin/tar: Removing leading `/' from member names
Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.0.30-1.4.osstech]
putting file backup_1003131034.tar.bz2 as \backup_1003131034.tar.bz2 (8431.2 kb/s) (average 8431.2 kb/s)

念のためにNASにアクセスしてバックアップが取れているか確認します。

cron作成
シェルが問題なく動作したのを確認し、$ sudo nano /etc/crontab とし、crontabファイルに以下を追記します。これで毎日午前5時30分にバックアップを自動で行うようになります。

45 5 * * * /usr/local/sbin/NASbackup.sh

毎日午前5時45分にNASbackup.shを実行する設定です。

$ crontab -l として確認してみると

hbirds@UbuntuServer:~$ crontab -l
no crontab for hbirds

設定できてないようです。
デスクトップUbuntuの場合は、crontabに直接書き込んでも良かったのですが、サーバーの場合はダメなようです。この参考サイトのとおりやってみました。
$ crontab -l として確認してみると、設定できています。

hbirds@UbuntuServer:~$ crontab -l
# m h  dom mon dow   command
45 5 * * * /usr/local/sbin/NASbackup.sh 

syslogで確認
$ tail /var/log/syslog

バックアップしたファイルの確認
$ cat /var/backup/log.txt とすれば、ログファイルでバックアップしたファイルが確認できます。

バックアップしたファイルを復元するには
$ sudo jxvf ファイル名(backup_XXXXXXXXXX.tar.bz2)
となります。

メールの確認
$ cat /var/mail/hbirds で届いたメールの確認
最後の方に以下のようになっていればバックアップ成功です。

putting file backup_1003150545.tar.bz2 as \backup_1003150545.tar.bz2 (10446.6 kb/s) (average 10446.6 kb/s)
Mar
07
2010
0

wakeonlanでNASと電源連動

0:42 am

バッファローのLS-CL(NAS)は、当然Windowsとのネットワークはサポートされており、電源連動も問題なくできるようになってますが、実はLinuxパソコンからも電源連動できます。
バッファローのLinkStation シリーズはファームウェアとして Linux が採用されているので、このようなことができます。ファイル共有も当然できます。
もちろん、サポート外でマニュアルに書いてませんので、自己責任でやってください。

Synapticパッケージマネージャから、wakeonlanをインストールします。

$ sudo nano /etc/crontab で crontab に以下の一行を追記します。
* * * * * root /usr/bin/wakeonlan 00:XX:XX:XX:XX:XX >/dev/null 2>&1

00:XX:XX:XX:XX:XX は、LANで接続しているNASのMACアドレスです。
NAS本体にシールで張ってあります。
または、以下により確認できます。
$ ping 192.168.X.X ←NASのIPアドレス
Ctrl+C ←処理を中断します。
$ arp -a

以上で、NASがクライアントパソコンやサーバーと電源連動になります。
サーバーとクライアントパソコンの両方にセットすると、どちらかが稼働していれば、NASも稼働するハズです。

crontab を使わず、NASを起動させるには
$ wakeonlan -i <ホストマシンのブロードキャストアドレス> <ホストマシンのMACアドレス>
具体には
$ wakeonlan -i 192.168.0.255 00:XX:XX:XX:XX:XX
といった感じ

Written by hbirds in: Ubuntu Dsektop | Tags: , , ,

www.hbirds.net