Бэкап базы данных (Utm) через ssh тунель.
Итак, хочу поделится своей маленькой(полезной) наработкой. А именно бэкап
базы данных утм через ssh тунель.
Скрипт самого бэкапа.
#!/bin/sh
# e-mail:nizamrb80@yahoo.co.uk
# Copyright (c) 2001-2005 Delta Telecom Inc.(Makhachkala Dagestan) All rights reserved.
a="/usr/backup/backup.sql"
echo baza backup
/usr/local/bin/mysqldump -q --all --password=**** --user=username --force UTM5 > $a.`date +%Y%m%d%h`
tar cf $a.`date +%Y%m%d%h`.tar $a.`date +%Y%m%d%h` && gzip -9 $a.`date +%Y%m%d%h`.tar
Для реализации бэкапа нам понадобится утилита psftp.
Установить ее можно из портов.
cd /usr/ports/security/putty
make && make install
Далее идет бэкап через ssh на другой компьютер. Наверное понятно, что на другом компьютере должна стоять машина
с ssh доступом.
# cat psftpbackup.sh
#!/bin/sh
a="/usr/backup/backup.sql"
echo put $a.`date +%Y%m%d%h`.tar.gz > backup.scr
echo quit >> backup.scr
/usr/local/bin/psftp gtk@10.100.80.7 -pw password -b /usr/home/op/backup.scr
echo "Backup 10.100.80.1 zavershen" | mail admin@mail.com
Эти два скрита добавляются в крон.
Бэкап на другой компьютер через ssh.
Ещё можно зашифровать файл какой-нибудь утилиткой и залить на фтп.
Например в FreeBSD в системе есть утилита bdes.
Шифрование + отправка может выглядеть так:
tar cyf - -C <dir> | bdes -k "pass" > /tmp/file.tbz
echo "put /tmp/file.tbz file.tbz" | /usr/bin/ftp ftp://ftpuser:ftpparol@host/
rm -f /tmp/file.tbz
echo "done" | mail -s backup root@localhost
Если не устраивает стойкость шифрования программы bdes, я уверен, ей можно найти замену более серьёзной программой.
Например в FreeBSD в системе есть утилита bdes.
Шифрование + отправка может выглядеть так:
tar cyf - -C <dir> | bdes -k "pass" > /tmp/file.tbz
echo "put /tmp/file.tbz file.tbz" | /usr/bin/ftp ftp://ftpuser:ftpparol@host/
rm -f /tmp/file.tbz
echo "done" | mail -s backup root@localhost
Если не устраивает стойкость шифрования программы bdes, я уверен, ей можно найти замену более серьёзной программой.