Архивы с базами можно скачать по ссылке ftp://4local.ru/Antivirus/DrWeb/v9. Распаковать lzma-архивы можно с помощью 7z-архиватора:
find . -type f -name '*.lzma' -exec 7z e {} \;
Базы находятся в папке:
C:\Documents and settings\All Users\Application Data\Doctor Web\Bases\
Перед тем, как скопировать туда распакованные обновления баз, надо отключить модуль самозащиты: ЛКМ -> Инструменты -> Настройки -> Самозащита.
В обычном случае для бэкапа оптимально использовать команду:
mysqldump -uroot -qRB db_name > db_name.sql
Для бэкапа с архивацией:
mysqldump -uroot -qRB db_name | bzip2 -9c > db_name.sql.bz mysqldump -uroot -qRB db_name | gzip -9c > db_name.sql.gz
Просмотреть архивы можно командами:
bzcat db_name.sql.bz | less zcat db_name.sql.gz | less
Возможен бэкап с удалённого сервера используя ssh (предполагается, что используется ssh-config):
ssh server 'mysqldump -uroot -qRB db_name' | bzip2 -9c > db_name.sql.bz # или сразу залить в локальную базу ssh server 'mysqldump -uroot -qCRB db_name' | mysql -uroot
Для дампа таблиц больших объёмов под текущей нагрузкой нужно использовать:
mysqldump -uroot --single-transaction --skip-lock-tables -qRB db_name
Полный дамп таблиц, включая сервисные, можно сделать командой:
mysqldump -uroot --events -qRA
Дамп только 10000 строк из определённой таблицы:
mysqldump -ntB db_name --tables tbl_name --where='1 order by id desc limit 10000'
Дамп базы без данных:
mysqldump -dB db_name
Для удобства использования файла паролей из различных устройств и мест, можно разместить файл на удалённом сервере и маунтить папку с файлом на текущее устройство. Вот пример скрипта, который подключает и отключает удалённую папку:
#!/bin/bash sshfs remote_host:/home/user/.keepassx /home/user/.keepassx && \ /usr/bin/keepassx && \ fusermount -u /home/user/.keepassx
В Debian требуется чтобы пользователь находился в группе fuse:
sudo gpasswd -a user fuse
Для исправления ошибки надо подготовить патч для файла lib/checkpw.c:
--- lib/checkpw.c Sat Jan 28 03:31:36 2012
+++ lib/checkpw.c Thu Mar 5 18:49:35 2015
@@ -587,16 +587,14 @@
/* Timeout. */
errno = ETIMEDOUT;
return -1;
- case +1:
- if (FD_ISSET(fd, &rfds)) {
- /* Success, file descriptor is readable. */
- return 0;
- }
- return -1;
case -1:
if (errno == EINTR || errno == EAGAIN)
continue;
default:
+ if (FD_ISSET(fd, &rfds)) {
+ /* Success, file descriptor is readable. */
+ return 0;
+ }
/* Error catch-all. */
return -1;
}
Для этого надо установить из портов пакет cyrus-sasl2, отредактировать файл, сделать патч, перекомпилить пакет с патчем:
cd /usr/ports/security/cyrus-sasl2 make install cd /usr/ports/pobj/cyrus-sasl-2.1.26/cyrus-sasl-2.1.26 cp lib/checkpw.c lib/checkpw.c.new # руками редактируем файл nano lib/checkpw.c.new # делаем патч diff -u lib/checkpw.c lib/checkpw.c.new > fix.patch mv fix.patch /usr/ports/security/cyrus-sasl2/patches/patch-lib_checkpw_c cd /usr/ports/security/cyrus-sasl2 make clean=dist make clean=packages make install
После этого надо переустановить postfix из портов:
cd /usr/ports/mail/postfix/snapshot env FLAVOR="mysql sasl2" make install # рестартануть сервисы /etc/rc.d/saslauthd restart && /etc/rc.d/postfix restart
Для того, чтобы сделать коммит с произвольной датой, можно воспользоваться специальным параметром --date команды git commit:
git commit -m 'Commit with yesterday date' --date="$(date -R --date='1 days ago')"