FreeBSD. Резервирование данных при помощи fsbackup » комментарииhttps://adw0rd.com/2009/03/03/freebsd-fsbackup/2018-01-29T10:47:57+03:00Блог Михаила Андреева, ака adw0rdadw0rd на "FreeBSD. Резервирование данных при помощи fsbackup"
2018-01-29T10:47:57+03:00adw0rdhttps://adw0rd.com/2009/03/03/freebsd-fsbackup/#comment-6555@Сергей Бондарь, 8 лет уже не использовал fsbackup, сложно сказать что за проблема
<p>@Сергей Бондарь, 8 лет уже не использовал fsbackup, сложно сказать что за проблема</p>
Сергей Бондарь на "FreeBSD. Резервирование данных при помощи fsbackup"
2018-01-29T07:32:35+03:00Сергей Бондарьhttps://adw0rd.com/2009/03/03/freebsd-fsbackup/#comment-6554Здравствуйте. Бэкап по ФТП. Есть следующая проблема: не создаётся директория OLD. Если создаю вручную, ничего не пишется. Соответственно, бэкапы не складываются в OLD. Ошибок на экране при запуске из консоли тоже нет. Шелл у юзера есть. Из под него в консоли команды скрипта fsbackup.pl работают, прав хватает. Остальные функции работают…
<p>Здравствуйте.</p>
<p>Бэкап по ФТП.<br />
Есть следующая проблема: не создаётся директория OLD.<br />
Если создаю вручную, ничего не пишется. Соответственно, бэкапы не складываются в OLD.<br />
Ошибок на экране при запуске из консоли тоже нет.<br />
Шелл у юзера есть. Из под него в консоли команды скрипта fsbackup.pl работают, прав хватает.</p>
<p>Остальные функции работают нормально.</p>
<p>FreeBSD 9.2-RELEASE-p1</p>
<p>Конфиг:</p>
<pre><code>$cfg_backup_name = "o_server_backup";
$cfg_cache_dir = "/usr/local/fsbackup/cache";
$prog_md5sum = "md5sum -b";
$prog_tar = "/usr/bin/tar";
$prog_ssh = "/usr/bin/ssh";
$prog_rm = "/bin/rm";
$prog_gzip = "/usr/bin/gzip";
$prog_pgp = "gpg";
$cfg_checksum = "timesize";
$cfg_backup_style = "backup";
$cfg_increment_level = 6;
$cfg_save_old_backup = 1;
$cfg_type = "remote_ftp";
$cfg_remote_host = "***";
$cfg_remote_login = "backup";
$cfg_remote_path = "server_backup";
$cfg_remote_ftp_mode = 0;
$cfg_remote_password = "***";
#$cfg_local_path = "/usr/local/fsbackup/archive";
$cfg_time_limit = 0;
$cfg_size_limit = 0;
$cfg_maximum_archive_size = 0;
$cfg_root_path = "/";
#$cfg_pgp_userid = "backup";
$cfg_verbose = 2;
$cfg_stopdir_prune=0;
</code></pre>
<p>1;</p>
<p>__DATA__.</p>
<p>/bin<br />
/boot<br />
/etc<br />
/home<br />
/lib</p>
<p>Помогите.</p>
<p>Благодарю.</p>
Евгений на "FreeBSD. Резервирование данных при помощи fsbackup"
2013-06-15T13:46:46+04:00Евгенийhttps://adw0rd.com/2009/03/03/freebsd-fsbackup/#comment-6223backup_name="slimserver1" backup_method="full" backup_db_list="aspseek trash:cache_table1 trash:cache_table2 mnogosearch" backup_mysqluser="мой логин" backup_mysqlpassword="мой пароль" backup_path="/usr/local/fsbackup/sys_backup" backup_progdump_path="/usr/local/bin" extra_mysqldump_flag="--complete-insert" if [ -n "$backup_progdump_path" ]; then backup_progdump_path="$backup_progdump_path/" fi if [ "_$backup_method" = "_full" ]; then echo "Creating full backup of all MySQL databases." ${backup_progdump_path}mysqldump --add-drop-table --all-databases --force --no-data $extra_mysqldump_flag --password=$backup_mysqlpassword --user=$backup_mysqluser > $backup_path/$backup_name-struct-mysql ${backup_progdump_path}mysqldump -databases --add-drop-table --force…
<p>backup_name="slimserver1"<br />
backup_method="full"<br />
backup_db_list="aspseek trash:cache_table1 trash:cache_table2 mnogosearch"<br />
backup_mysqluser="мой логин"<br />
backup_mysqlpassword="мой пароль"<br />
backup_path="/usr/local/fsbackup/sys_backup"<br />
backup_progdump_path="/usr/local/bin"<br />
extra_mysqldump_flag="--complete-insert"</p>
<p>if [ -n "$backup_progdump_path" ]; then<br />
backup_progdump_path="$backup_progdump_path/"<br />
fi</p>
<p>if [ "_$backup_method" = "_full" ]; then<br />
echo "Creating full backup of all MySQL databases."<br />
${backup_progdump_path}mysqldump --add-drop-table --all-databases --force --no-data $extra_mysqldump_flag --password=$backup_mysqlpassword --user=$backup_mysqluser > $backup_path/$backup_name-struct-mysql<br />
${backup_progdump_path}mysqldump -databases --add-drop-table --force $extra_mysqldump_flag --password=$backup_mysqlpassword --user=$backup_mysqluser |gzip > $backup_path/$backup_name-mysql.gz<br />
exit<br />
fi</p>
<p>if [ "_$backup_method" = "_full" ]; then<br />
echo "Creating full backup of all MySQL databases."<br />
${backup_progdump_path}mysqldump --add-drop-table --all-databases --force --no-data $extra_mysqldump_flag --password=$backup_mysqlpassword --user=$backup_mysqluser > $backup_path/$backup_name-struct-mysql<br />
${backup_progdump_path}mysqldump -databases --all --add-drop-table --force $extra_mysqldump_flag --password=$backup_mysqlpassword --user=$backup_mysqluser |gzip > $backup_path/$backup_name-mysql.gz<br />
exit<br />
fi</p>
<p>if [ "_$backup_method" = "_notdb" ]; then<br />
echo "Creating full backup of all MySQL databases except databases $backup_db_list."<br />
${backup_progdump_path}mysqldump --all --add-drop-table --all-databases --force --no-data $extra_mysqldump_flag --password=$backup_mysqlpassword --user=$backup_mysqluser > $backup_path/$backup_name-struct-mysql<br />
cat /dev/null > $backup_path/$backup_name-mysql</p>
<pre><code>for cur_db in `${backup_progdump_path}mysqlshow --password=$backup_mysqlpassword --user=$backup_mysqluser| tr -d ' |'|grep -v -E '^Databases$|^\+\-\-\-'`; do
grep_flag=`echo " $backup_db_list"| grep " $cur_db:"`
if [ -n "$grep_flag" ]; then
for cur_db_table in `${backup_progdump_path}mysqlshow --password=$backup_mysqlpassword --user=$backup_mysqluser $cur_db| tr -d ' |'|grep -v -E '^Tables$|^Database\:|^\+\-\-\-'`; do
flag=1
for cur_ignore in $backup_db_list; do
if [ "_$cur_ignore" = "_$cur_db:$cur_db_table" ]; then
flag=0
fi
done
if [ $flag -gt 0 ]; then
echo "Dumping $cur_db:$cur_db_table..."
${backup_progdump_path}mysqldump --all --add-drop-table --force $extra_mysqldump_flag --password=$backup_mysqlpassword --user=$backup_mysqluser $cur_db $cur_db_table >> $backup_path/$backup_name-mysql
else
echo "Skiping $cur_db:$cur_db_table..."
fi
done
else
flag=1
for cur_ignore in $backup_db_list; do
if [ "_$cur_ignore" = "_$cur_db" ]; then
flag=0
fi
done
if [ $flag -gt 0 ]; then
echo "Dumping $cur_db..."
${backup_progdump_path}mysqldump --all --add-drop-table --force $extra_mysqldump_flag --password=$backup_mysqlpassword --user=$backup_mysqluser $cur_db >> $backup_path/$backup_name-mysql
else
echo "Skiping $cur_db..."
fi
fi
done
gzip -f $backup_path/$backup_name-mysql
exit
</code></pre>
<p>fi</p>
<p>echo "Configuration error. Not valid parameters in backup_method or backup_sqltype."</p>
<p>что нужно поправить?</p>
Евгений на "FreeBSD. Резервирование данных при помощи fsbackup"
2013-06-15T13:39:40+04:00Евгенийhttps://adw0rd.com/2009/03/03/freebsd-fsbackup/#comment-6222create_backup.sh: ./sсripts/mysql_backup.sh: not found Creating remote_ftp backup: server1 Current increment number: 1
<p>create_backup.sh: ./sсripts/mysql_backup.sh: not found<br />
Creating remote_ftp backup: server1<br />
Current increment number: 1</p>
Евгений на "FreeBSD. Резервирование данных при помощи fsbackup"
2013-06-15T13:38:29+04:00Евгенийhttps://adw0rd.com/2009/03/03/freebsd-fsbackup/#comment-6221if [ "_$backup_method" = "_full" ]; then echo "Creating full backup of all MySQL databases." ${backup_progdump_path}mysqldump --add-drop-table --all-databases --force --no-data $extra_mysqldump_flag --password=$backup_mysqlpassword --user=$backup_mysqluser > $backup_path/$backup_name-struct-mysql ${backup_progdump_path}mysqldump -databases --add-drop-table --force $extra_mysqldump_flag --password=$backup_mysqlpassword --user=$backup_mysqluser |gzip > $backup_path/$backup_name-mysql.gz exit fi так правильно?
<p>if [ "_$backup_method" = "_full" ]; then<br />
echo "Creating full backup of all MySQL databases."<br />
${backup_progdump_path}mysqldump --add-drop-table --all-databases --force --no-data $extra_mysqldump_flag --password=$backup_mysqlpassword --user=$backup_mysqluser > $backup_path/$backup_name-struct-mysql<br />
${backup_progdump_path}mysqldump -databases --add-drop-table --force $extra_mysqldump_flag --password=$backup_mysqlpassword --user=$backup_mysqluser |gzip > $backup_path/$backup_name-mysql.gz<br />
exit<br />
fi</p>
<p>так правильно?</p>
adw0rd на "FreeBSD. Резервирование данных при помощи fsbackup"
2013-06-15T13:31:33+04:00adw0rdhttps://adw0rd.com/2009/03/03/freebsd-fsbackup/#comment-6220Исправьте файл mysql_backup.sh, там есть секция: if [ "_$backup_method" = "_full" ]; then echo "Creating full backup of all MySQL databases." ${backup_progdump_path}mysqldump --all --add-drop-table --all-databases --force --no-data $extra_mysqldump_flag --password=$backup_mysqlpassword --user=$backup_mysqluser > $backup_path/$backup_name-struct-mysql ${backup_progdump_path}mysqldump --all-databases --all --add-drop-table --force $extra_mysqldump_flag --password=$backup_mysqlpassword --user=$backup_mysqluser |gzip > $backup_path/$backup_name-mysql.gz exit fi Так вот, уберит "--all", так…
<p>Исправьте файл mysql_backup.sh, там есть секция:</p>
<pre><code>if [ "_$backup_method" = "_full" ]; then
echo "Creating full backup of all MySQL databases."
${backup_progdump_path}mysqldump --all --add-drop-table --all-databases --force --no-data $extra_mysqldump_flag --password=$backup_mysqlpassword --user=$backup_mysqluser > $backup_path/$backup_name-struct-mysql
${backup_progdump_path}mysqldump --all-databases --all --add-drop-table --force $extra_mysqldump_flag --password=$backup_mysqlpassword --user=$backup_mysqluser |gzip > $backup_path/$backup_name-mysql.gz
exit
fi
</code></pre>
<p>Так вот, уберит "--all", так как эта опция не валидна. И так по всему файлу.</p>
Евгений на "FreeBSD. Резервирование данных при помощи fsbackup"
2013-06-15T10:51:28+04:00Евгенийhttps://adw0rd.com/2009/03/03/freebsd-fsbackup/#comment-6219проблему с созданием архивов решил. а вот mysqldump: ambiguous option '--all' (all-databases, allow-keywords) mysqldump: ambiguous option '--all' (all-databases, allow-keywords) осталась. помогите
<p>проблему с созданием архивов решил. а вот mysqldump: ambiguous option '--all' (all-databases, allow-keywords)<br />
mysqldump: ambiguous option '--all' (all-databases, allow-keywords) </p>
<p>осталась. помогите</p>
Евгений на "FreeBSD. Резервирование данных при помощи fsbackup"
2013-06-14T17:03:13+04:00Евгенийhttps://adw0rd.com/2009/03/03/freebsd-fsbackup/#comment-6218fsbackup-1.2.1_1 File system backup and synchronization utility mysql-client-5.5.31 Multithreaded SQL database (client) mysql-server-5.5.31 Multithreaded SQL database (server) php53-mysql-5.3.24 The mysql shared extension for php php53-mysqli-5.3.24 The mysqli shared extension for php php53-pdo_mysql-5.3.24 The pdo_mysql shared extension for php phpMyAdmin-4.0.0 A set of PHP-sсripts to manage MySQL over the web
<p>fsbackup-1.2.1_1 File system backup and synchronization utility<br />
mysql-client-5.5.31 Multithreaded SQL database (client)<br />
mysql-server-5.5.31 Multithreaded SQL database (server)<br />
php53-mysql-5.3.24 The mysql shared extension for php<br />
php53-mysqli-5.3.24 The mysqli shared extension for php<br />
php53-pdo_mysql-5.3.24 The pdo_mysql shared extension for php<br />
phpMyAdmin-4.0.0 A set of PHP-sсripts to manage MySQL over the web</p>
adw0rd на "FreeBSD. Резервирование данных при помощи fsbackup"
2013-06-14T17:02:15+04:00adw0rdhttps://adw0rd.com/2009/03/03/freebsd-fsbackup/#comment-6217Какие версии ПО стоят? Выполните: pkg_info |grep -iE "fsbackup|mysql"
<p>Какие версии ПО стоят? Выполните:</p>
<pre><code>pkg_info |grep -iE "fsbackup|mysql"
</code></pre>
Евгений на "FreeBSD. Резервирование данных при помощи fsbackup"
2013-06-14T15:26:51+04:00Евгенийhttps://adw0rd.com/2009/03/03/freebsd-fsbackup/#comment-6216Creating full backup of all MySQL databases. mysqldump: ambiguous option '--all' (all-databases, allow-keywords) mysqldump: ambiguous option '--all' (all-databases, allow-keywords) Creating remote_ftp backup: server1 Current increment number: 0 FTP error, Can't GET .hash ....ng /usr/local/fsbackup done ....ng /var/db/pkg done ....ng /usr/src/sys/i386/conf done ....ng /etc done ....ng /var/cron/tabs done ....ng /var/spool/cron done…
<p>Creating full backup of all MySQL databases.<br />
mysqldump: ambiguous option '--all' (all-databases, allow-keywords)<br />
mysqldump: ambiguous option '--all' (all-databases, allow-keywords)<br />
Creating remote_ftp backup: server1<br />
Current increment number: 0<br />
FTP error, Can't GET .hash<br />
....ng /usr/local/fsbackup<br />
done<br />
....ng /var/db/pkg<br />
done<br />
....ng /usr/src/sys/i386/conf<br />
done<br />
....ng /etc<br />
done<br />
....ng /var/cron/tabs<br />
done<br />
....ng /var/spool/cron<br />
done<br />
....ng /usr/local/etc<br />
done<br />
....ng /usr/local/bin<br />
done<br />
....ng /usr/local/include<br />
done<br />
....ng /usr/local/lib<br />
done<br />
....ng /usr/local/libdata<br />
done<br />
....ng /usr/local/libexec<br />
done<br />
....ng /usr/local/sbin<br />
done<br />
....ng /usr/local/share<br />
done<br />
....ng /usr/local/etc/nginx<br />
done<br />
....ng /usr/local/etc/apache22<br />
done<br />
....ng /usr/local/www<br />
done<br />
....ng /usr/local/mysql/bin<br />
done<br />
....ng /usr/local/mysql/include<br />
done<br />
....ng /usr/local/mysql/lib<br />
done<br />
....ng /usr/local/mysql/libexec<br />
done<br />
....ng /usr/local/mysql/var/mysql<br />
done<br />
WARNING: Nothing to backup.</p>
<p>вот такая фигня. 3 тий день мучаюсь. помогите. OC FreeBSD 9.1</p>
Артур на "FreeBSD. Резервирование данных при помощи fsbackup"
2011-08-08T20:51:21+04:00Артурhttps://adw0rd.com/2009/03/03/freebsd-fsbackup/#comment-5481ну тебе, как python программисту легко говорить ;-)
<p>ну тебе, как python программисту легко говорить ;-)</p>
adw0rd на "FreeBSD. Резервирование данных при помощи fsbackup"
2011-08-08T11:38:06+04:00adw0rdhttps://adw0rd.com/2009/03/03/freebsd-fsbackup/#comment-5480А чего fsbackup не использовал? И для подобных строк: tar cpzf $BU_WWW_DIR\-saturn.tgz /www/saturn/ >/dev/null 2>&1 надо использовать словари или кортежи/списки
<p>А чего fsbackup не использовал?<br />
И для подобных строк:</p>
<pre><code>tar cpzf $BU_WWW_DIR\-saturn.tgz /www/saturn/ >/dev/null 2>&1 </code></pre>
<p>надо использовать словари или кортежи/списки</p>
Артур на "FreeBSD. Резервирование данных при помощи fsbackup"
2011-08-08T07:42:22+04:00Артурhttps://adw0rd.com/2009/03/03/freebsd-fsbackup/#comment-5479А столько искал способ для бекапа сайтов... так и не нашел оптимальный и простой)), в итоге написал простой скрипт, пока работает норм, вот даже статью напаисал http://www.artcom-ufa.ru/posts/2011/07/12/rezervnoe-kopirovanie-na-veb-servere.
<p>А столько искал способ для бекапа сайтов... так и не нашел оптимальный и простой)), в итоге написал простой скрипт, пока работает норм, вот даже статью напаисал http://www.artcom-ufa.ru/posts/2011/07/12/rezervnoe-kopirovanie-na-veb-servere.</p>
adw0rd на "FreeBSD. Резервирование данных при помощи fsbackup"
2011-05-16T11:52:49+04:00adw0rdhttps://adw0rd.com/2009/03/03/freebsd-fsbackup/#comment-5405Да наверное не хотел тратить время, в этом и смысл использовать сторонний софт :)
<p>Да наверное не хотел тратить время, в этом и смысл использовать сторонний софт :)</p>
Артур на "FreeBSD. Резервирование данных при помощи fsbackup"
2011-05-16T10:08:28+04:00Артурhttps://adw0rd.com/2009/03/03/freebsd-fsbackup/#comment-5404Мишка, а почему от написания собственного скрипта отказался?)
<p>Мишка, а почему от написания собственного скрипта отказался?)</p>
Олег на "FreeBSD. Резервирование данных при помощи fsbackup"
2011-04-12T23:10:53+04:00Олегhttps://adw0rd.com/2009/03/03/freebsd-fsbackup/#comment-5394panser, символ @ нужно экранированть, должно получиться так test\@example.com :) сам только что пробовал, получилось :)
<p>panser, символ @ нужно экранированть, должно получиться так <b>test\@example.com</b> :) сам только что пробовал, получилось :)</p>
Kirill на "FreeBSD. Резервирование данных при помощи fsbackup"
2011-04-05T10:26:46+04:00Kirillhttps://adw0rd.com/2009/03/03/freebsd-fsbackup/#comment-5385Уважаемый Tommy, а вы случаем не разобрались еще с тем как сделать что бы при full_backup ставилась дата? очень нужно! спасибо.
<p>Уважаемый Tommy, а вы случаем не разобрались еще с тем как сделать что бы при full_backup ставилась дата?<br />
очень нужно! спасибо.</p>
Дмитрий на "FreeBSD. Резервирование данных при помощи fsbackup"
2011-04-04T09:40:25+04:00Дмитрийhttps://adw0rd.com/2009/03/03/freebsd-fsbackup/#comment-5379Добрый день,коллеги! Настроил сие чудо,всё отлично работает, но есть проблема не бэкапит ко мне на ftp большое количество данных (120ГБ),точнее бэкапит,но срывается где-то на 25ГБ, в связи с этим начал искать лог программы дабы выяснить причину. Проблема как раз в том что не смог найти лога, где он хранится и…
<p>Добрый день,коллеги! Настроил сие чудо,всё отлично работает, но есть проблема не бэкапит ко мне на ftp большое количество данных (120ГБ),точнее бэкапит,но срывается где-то на 25ГБ, в связи с этим начал искать лог программы дабы выяснить причину. Проблема как раз в том что не смог найти лога, где он хранится и создается ли вобще ? Заранее спасибо за ответ!</p>
<p>P.S. в ./var и /usr/local/fsbackup смотрел</p>
Tommy на "FreeBSD. Резервирование данных при помощи fsbackup"
2010-12-27T16:34:28+03:00Tommyhttps://adw0rd.com/2009/03/03/freebsd-fsbackup/#comment-5179вот тут товарищ joni говорил что в папку old пишется только один бэкап. да это так. мне нужно было тоже самое. для этого я закомментировал 4 строчки и папка OLD чиститься не будет. строчки 462-465 в файле fsbackup.pl написал комментарии что вообще эти строки делают # $ftp->cwd("$cfg_remote_path/OLD"); //переходим в директорию…
<p>вот тут товарищ joni говорил что в папку old пишется только один бэкап. да это так.<br />
мне нужно было тоже самое. для этого я закомментировал 4 строчки и папка OLD чиститься не будет.<br />
строчки 462-465 в файле fsbackup.pl</p>
<p>написал комментарии что вообще эти строки делают</p>
<pre><code>
# $ftp->cwd("$cfg_remote_path/OLD"); //переходим в директорию OLD
# foreach $cur_dir ($ftp->ls()){ //ищем любые файлы (цикл)
# $ftp->delete($cur_dir); // удаляем найденный файл
# } //конец цикла
</code></pre>
<p>и теперь выставляем:<br />
$cfg_backup_style = "backup";<br />
сохранять копии. число промежуточных бэкапов 1.<br />
если поставить $cfg_backup_style = "full_backup"; у меня получаются имена файлов backup-0.tar.gz тоесть он время не ставить а значит файл будет заменяться.</p>
<p>следующим комментарием найду как сделать что бы при full_backup ставилась дата.</p>
Tommy на "FreeBSD. Резервирование данных при помощи fsbackup"
2010-12-18T19:08:00+03:00Tommyhttps://adw0rd.com/2009/03/03/freebsd-fsbackup/#comment-5168Все я понял. спасибо. Просто я указал только те папки которые нужно мне для бэйкапа. просто создал два скрипта один для системы другой для веб сервера. а нужно было еще добавить /usr/local/fsbackup/archive просто с начало происходит выполнение скриптов а потом main скрипта так сказать это я так вдруг у кого…
<p>Все я понял. спасибо.<br />
Просто я указал только те папки которые нужно мне для бэйкапа. просто создал два скрипта один для системы другой для веб сервера.<br />
а нужно было еще добавить /usr/local/fsbackup/archive<br />
просто с начало происходит выполнение скриптов а потом main скрипта так сказать<br />
это я так вдруг у кого то будет подобное=)</p>