[root@gawa etc]# cat /etc/rsyncd.conf [Backup] path = /mnt/Backup hosts allow = 192.168.1.32 192.168.1.36 [root@gawa etc]#
[root@gawa etc]# cd /etc [root@gawa etc]# mv inetd.conf inetd.conf.orig [root@gawa etc]# cp inetd.conf.orig inetd.conf [root@gawa etc]# vi inetd.conf : [root@gawa etc]# diff -c inetd.conf.orig inetd.conf *** inetd.conf.orig 2004-02-22 23:55:34.000000000 +0900 --- inetd.conf 2005-12-23 13:39:43.000000000 +0900 *************** *** 89,91 **** --- 89,92 ---- #auth stream tcp wait root /usr/sbin/in.identd in.identd -e -o # # End of inetd.conf + rsync stream tcp nowait root /usr/sbin/tcpd /usr/bin/rsync --daemon [root@gawa etc]#
[root@gawa etc]# kill -HUP `cat /var/run/inetd.pid`これで、HS-DGL! の /mnt/Backup/gawa は rsync://gawa/Backup/gawa に 見えるようになる。
[root@giga sbin]# cat /usr/local/sbin/gawatogiga #! /bin/sh SRCHOST=gawa cd /mnt/Backup nice rsync -rtuvpogtlH --delete-excluded rsync://$SRCHOST/Backup/$SRCHOST . [root@giga sbin]#余談だが「シェル」とは /bin/bash などであって、 上のようにコマンドを書いたファイルは「シェルスクリプト」である。
[root@giga sbin]# sh /usr/local/sbin/gawatogiga receiving file list ... done gawa/ gawa/gawa-bin.Fri.tar.gz gawa/gawa-boot.Fri.tar.gz gawa/gawa-chkconfig--list.Fri.gz gawa/gawa-dev.Fri.tar.gz gawa/gawa-etc.Fri.tar.gz gawa/gawa-httpd.Fri.tar.gz gawa/gawa-initrd.Fri.tar.gz gawa/gawa-lib.Fri.tar.gz gawa/gawa-opt.Fri.tar.gz gawa/gawa-root.Fri.tar.gz gawa/gawa-rpm-qa.Fri.gz gawa/gawa-sbin.Fri.tar.gz gawa/gawa-usr.Fri.tar.gz gawa/gawa-var.Fri.tar.gz gawa/gawa-www.Fri.tar.gz gawa/gawa-yamasita.Fri.tar.gz wrote 349 bytes read 217912615 bytes 4686300.30 bytes/sec total size is 217884807 speedup is 1.00 [root@giga sbin]#
[root@giga sbin]# crontab -e : [root@giga sbin]# crontab -l # DO NOT EDIT THIS FILE - edit the master and reinstall. # (/tmp/crontab.835 installed on Fri Dec 23 14:00:23 2005) # (Cron version -- $Id: crontab.c,v 2.13 1994/01/17 03:20:37 vixie Exp $) : : 25 * * * * nice /bin/sh /usr/local/sbin/gawatogiga 2>/dev/null 1> /dev/null : : [root@giga sbin]#
[root@red /root]# cat /usr/local/sbin/Backup.to.red #! /bin/sh LOCKFILE=/tmp/`basename $0` if [ -f $LOCKFILE ] then echo $0 already running exit fi touch $LOCKFILE #------------------------------------- cd /mnt/home/Backup #- link -------------------------------- SRCHOST=link nice rsync -rtuvpogtlH rsync://$SRCHOST/Backup/$SRCHOST . #- gawa -------------------------------- SRCHOST=gawa nice rsync -rtuvpogtlH rsync://$SRCHOST/Backup/$SRCHOST . #- giga ------------------------------ cd /mnt/home SRCHOST=giga nice rsync -rtuvpogDtlH rsync://$SRCHOST/home . #------------------------------------- rm -f $LOCKFILE [root@red /root]#本当は、trap を仕掛けて異常終了した場合もロックファイルを 消さないといけないのだが、、、手抜き。
赤い HD-120LANは、 不定期に手動でしか起動しないので、 このスクリプトは cron には登録していない。
← HS-DGL! + ハックキット 2.0:バックアップ |
ハックの記録 LinkStation/玄箱 をハックしよう |
→ HS-DGL! + ハックキット 2.0:ファンコントロール |