root@sakura:~# cat /usr/local/sbin/Backup
#! /bin/sh
#---------------------------------------------------
apt-get clean
#---------------------------------------------------
BACKUPDIR=/mnt/Backup/`hostname`
HOSTNAME=`hostname`
if [ ! -d $BACKUPDIR ]
then
mkdir -p $BACKUPDIR
fi
cd /
D=`LANG=C date +%a`
for DIR in *
do
case $DIR in
bin);;
boot);;
dev);;
etc)
tar zcvf $BACKUPDIR/$HOSTNAME-$DIR.$D.tar.gz $DIR
;;
home)
tar zcvf $BACKUPDIR/$HOSTNAME-$DIR.$D.tar.gz $DIR
;;
initrd.img);;
initrd.img.old);;
lib);;
lib64);;
lost+found);;
media);;
mnt);;
opt)
tar zcvf $BACKUPDIR/$HOSTNAME-$DIR.$D.tar.gz $DIR
;;
proc);;
root)
tar zcvf $BACKUPDIR/$HOSTNAME-$DIR.$D.tar.gz $DIR
;;
run);;
sbin);;
srv);;
sys);;
tmp);;
usr)
tar zcvf $BACKUPDIR/$HOSTNAME-$DIR.$D.tar.gz usr/local
;;
var)
# tar zcvf $BACKUPDIR/$HOSTNAME-$DIR.$D.tar.gz $DIR
tar zcvf $BACKUPDIR/$HOSTNAME-$DIR.$D.tar.gz `ls -d var/* | grep -v var/www`
;;
vmlinuz);;
vmlinuz.old);;
*)
tar zcvf $BACKUPDIR/$HOSTNAME-$DIR.$D.tar.gz $DIR
;;
esac
done
#---------------------------------------------------
GZFILE=$BACKUPDIR/$HOSTNAME-mysql.$D.gz
/usr/bin/mysqldump -a --user=root --password=内緒 mt | gzip > $GZFILE
#---------------------------------------------------
cd $BACKUPDIR
MONTHDIR=`hostname`.`LANG=C date +%y%m`
if [ ! -d "$MONTHDIR" ]
then
mkdir "$MONTHDIR"
D=`LANG=C date +%a`
mv *.$D.* "$MONTHDIR"
fi
find . -mtime +30 -exec rm -fr {} \; -print
root@sakura:~#
さすがに、Webサイトのコンテンツは巨大すぎたので、アーカイブを諦めた。
root@sakura:~# sh /usr/local/sbin/Backup etc/ etc/ca-certificates/ etc/ca-certificates/update.d/ etc/mailcap etc/bash.bashrc etc/sysctl.d/ etc/sysctl.d/README.sysctl etc/sysctl.d/99-sysctl.conf etc/iproute2/ : : : : var/tmp/ var/tmp/systemd-private-c7d90979242f45d7a629d8cad7082fd3-apache2.service-duhKr1/ var/tmp/systemd-private-c7d90979242f45d7a629d8cad7082fd3-apache2.service-duhKr1/tmp/ var/tmp/systemd-private-c7d90979242f45d7a629d8cad7082fd3-systemd-timesyncd.service-5gW7Rg/ var/tmp/systemd-private-c7d90979242f45d7a629d8cad7082fd3-systemd-timesyncd.service-5gW7Rg/tmp/ root@sakura:~#特にエラーなし。
root@sakura:~# crontab -e : : : root@sakura:~# crontab -l : : : 0 1 * * * nice /bin/sh /usr/local/sbin/Backup 2>/dev/null 1>/dev/null root@sakura:~#
yasunari@xhl:~$ cat /usr/local/sbin/Backup.from.Sakura rsync -rtuvpogtlH -e "ssh -p 内緒 -i /home/yamasita/yasunari/.ssh/sakura_id_rsa" sakura.yamasita.jp:/var/www/html /home/httpd rsync -rtuvpogtlH -e "ssh -p 内緒 -i /home/yamasita/yasunari/.ssh/sakura_id_rsa" sakura.yamasita.jp://mnt/Backup/sakura /mnt/Backup yasunari@xhl:~$
yasunari@xhl:~$ sh /usr/local/sbin/Backup.from.Sakura receiving incremental file list html/cloud/ html/cloud/atom.xml html/cloud/2018/02/ : : : sent 13259 bytes received 1479648 bytes 157148.11 bytes/sec total size is 15494665560 speedup is 10378.86 rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1536) [generator=3.0.9] receiving incremental file list sakura/ sakura/sakura-etc.Wed.tar.gz sakura/sakura-home.Wed.tar.gz sakura/sakura-mysql.Wed.gz sakura/sakura-opt.Wed.tar.gz sakura/sakura-root.Wed.tar.gz sakura/sakura-usr.Wed.tar.gz sakura/sakura-var.Wed.tar.gz sent 169 bytes received 114511207 bytes 6189804.11 bytes/sec total size is 228902042 speedup is 2.00 yasunari@xhl:~$
yasunari@xhl:~$ crontab -e : : : yasunari@xhl:~$ crontab -l : : : 30 * * * * /bin/sh /usr/local/sbin/Backup.from.Sakura 2>/dev/null 1>/dev/null yasunari@xhl:~$1 時間に一回取得するようにしてみた。
|
← Web サーバの構築(3)https 化 |
山下康成の 雲の上 |
→ Outlook と Android との同期 |
ツイート Tweet to @yasunari_y @yasunari_yをフォロー
Copyright (C) 2003-2018 Yasunari Yamashita. All Rights Reserved.
yasunari @ yamasita.jp 山下康成@京都府向日市/東京都新宿区