Мар 152011
Додела до ума скрипт по бэкапу в FreeBSD пользоватльеских дереткорий.
Начало.
содаем скрипт по проверки и мантированию samba шар.
#!/bin/sh retval=`/sbin/mount | grep smbfs` if [ -n "$retval" ]; then /sbin/umount /mnt/pav253 /mnt/do_obmen 1> /dev/null 2> /dev/null if [ "$?" -ne 0 ]; then echo "Не могу размонтирвоать Samba share" fi else sh /root/smb if [ "$?" -ne 0 ]; then echo "Не могу смонтировать Samba share" fi fi
Теперь!
Установим пакет smtp-cli
cd /usr/ports/mail/smtp-cli && make install clean
теперь создадим скрипт для отправки сообщий нам на email
#!/bin/sh SMTP='/usr/local/bin/smtp-cli' FROM='Bagrich@minbank.ru' TO='bagassik@gmail.com' USER='bad' PASS='qqqqqq' HOST='10.20.98.29' $SMTP --from $FROM --to $TO --host $HOST --auth --user $USER --pass $PASS --body "$1"
Такс. приступим к написания скрипта.
#!/bin/sh SOUR="/mnt/do_obmen/ПАВЛОВСК/В ПАВЛОВСК/ПРОЧИТАНЫЕ_2010" DEST="/mnt/share/do_obmen/2010/" SOUR_1="/mnt/pav253/Users" DEST_1="/mnt/share/users/" ARH="/mnt/share/backup/arch/do_obmen/" ARH_1="/mnt/share/backup/arch/users/" PREFIX='/mnt/share/backup/log/do_obmen'`date +"%H+%M+%a"` PREFIX_1='/mnt/share/backup/log/user'`date +"%H+%M+%a"` DAYS_STORY="180" DT=`date +"%Y-%m-%d"` TIME=`date +"%H-%M"` TAR="/usr/bin/tar" sh /root/mount_smb cp -rf "$SOUR" $DEST > $PREFIX.log $TAR -czvf $ARH/$DT.tar.gz $DEST cp -rf $SOUR_1 $DEST_1 > $PREFIX_1.log $TAR -czvf $ARH_1/$DT.tar.gz $DEST_1 find $ARH/ -mtime +$DAYS_STORY -delete find $ARH_1/ -mtime +$DAYS_STORY -delete sh /root/mount_smb sh /root/sm "Backup закончен в $TIME"
Так, сам скрипт по бэкапу пользовательских дикторий готов, но как же его синхронизировать, что бы по десять раз Гиговые данные не гонять по сети.
Ставим порт cpbk
cd /usr/ports/sysutils/cpbk && make install clean
Создаем второй скрипт.
#!/bin/sh cmd="/usr/local/bin/cpbk -nr" $cmd /mnt/pav253/Users /mnt/share/users/
добовляем в crontab.
Я добавил в crontab рутовский свои скрипты.
10 21 27 * * root sh /root/backup # Указали что каждый месяц 27 числа в 21:10 запускать этот скрипт 10 21 1,7,12,22,26 * 5 root sh /root/mirror_back # тут мы указали запуск скрипта в 21:10 ( ,7,12,22,26 ) каждого вмесяца да и еще укозали 5 в добавок что бы и по пятницам он выполнялся.
Вот и все, я этот скрипт создал от делать нечего, скучно было. А так есть уже готовые решения к примеру rsync .