Linux Debian バックアップ backup

弊社のサーバはなぜかWindowsじゃなくてLinuxです。

はっきり言って、今たてるんだったら、Windowsサーバの方が楽なんじゃないでしょうか。

バックアップは以下のようにとっています。

/home/share/backup.sh を下記のように記述
やっていることは、単純なことで
svnのバックアップを作る
/etc/ をtar.gzにする
/var/ をtar.gzにするけれども、/var/lib/vmwareは除外(vmwareのhddイメージがある)
/home をtar.gzにすれけれども /home/share/backup /home/share/public は除外
ログに保存する

crontab で以下のように記述して、毎日14時に実行させる

/home/shareをsambaで共有させて、Windowsから見えるようにする。

WindowsXP標準のntbackup で月曜日はフルバックアップ 火曜〜金曜日は差分バックアップを毎回12時に実行する
(ただし手動w コントロールパネルのタスクにいれてもいいが、ファイルを目で確認しているので)


本当はテープドライブでとるべきと、IT屋さんには怒られるかもしれません。でもね。そんなお金ないんです(笑)!

ところで、皆さんのサーバのバックアップってどうしてるんですか?


backup.sh


#!/bin/sh

logfile=/home/share/backup/srv010bak/backup.log

mv $logfile $logfile.old

echo -- backuplog > $logfile
uname -a >> $logfile
date +'-- '%Y-%m-%d' '%T >>$logfile

# svn backup

echo -- svnadmin dump >> $logfile
svnadmin dump /home/svn/nullpo > /home/share/backup/srv010bak/svn_nullpo.dump



# srv010 backup

echo -- tar /etc >> $logfile
tar cvfz /home/share/backup/srv010bak/srv010_etc.tar.gz /etc |tee -a $logfile

echo '/var/lib/vmware' > exclude_varDir
echo -- tar /var >> $logfile
tar cvfzX /home/share/backup/srv010bak/srv010_var.tar.gz exclude_varDir /var |tee -a $logfile

# /home /home/backup /home/public disable
echo '/home/share/backup' > exclude_homeDir
echo '/home/share/public' >> exclude_homeDir

echo -- tar /home >> $logfile
tar cvfzX /home/share/backup/srv010bak/srv010_home.tar.gz exclude_homeDir /home |tee -a $logfile


rootの
crontab -l の出力 crontab -e で編集かな


00 14 * * * /home/share/backup/backup.sh

srv010-public-full.bat


net use \\srv010\public
@REM --- full backup
ntbackup backup \\srv010\public /j "srv010 Command-Line-Backup" /f "T:\srv10.backup\srv010-public_full%date%.bkf" /a
ntbackup backup \\srv010\backup /j "srv010 Command-Line-Backup" /f "T:\srv10.backup\srv010-backup_full%date%.bkf" /a

srv010-public-diff.bat


net use \\srv010\public
@REM --- diff backup
ntbackup backup \\srv010\public /j "srv010 Command-Line-Backup" /f "T:\srv10.backup\srv010-public_diff.bkf" /a /M differential /L:s
ntbackup backup \\srv010\backup /j "srv010 Command-Line-Backup" /f "T:\srv10.backup\srv010-backup_diff.bkf" /a /M differential /L:s