Перейти к содержимому
Local
-VaSaK-

Бекапалка - backupalka.sh

Рекомендованные сообщения

Привет. Помогите с бэк-апом.

#uname -a
FreeBSD X1 10.3-RELEASE FreeBSD 10.3-RELEASE #0 r297264: Fri Mar 25 02:10:02 UTC 2016     [email protected]:/usr/obj/usr/src/sys/GENERIC  amd64
сам фаилик backupalka.sh
#!/bin/sh
# directory to store local backups
BACKUP_DIR="/usr/local/www/apache24/data/billing/content/backups/sql" - путь к папке где создается дамп из вэб-морды

# max backups store age in days
MAX_AGE=1

# dirs which will be packed during backup 
SYSTEM_DIRS="/etc /usr/local/etc /usr/local/www/apache24/data" - 22 заменено на 24 версия апача

# mysqldump path
MYSQLDUMP="/usr/local/bin/mysqldump"

# mysql user login
MYSQL_USER="root"

# mysql password
MYSQL_PASSWORD="mysfхххb59c" - мой пас, так же из вэб-морды

# mysql database host
MYSQL_HOST="localhost"

# ftp upload of backup archive, using ncftp
# you can install it with following command: fetch ftp://ftp.ncftp.com/ncftp/ncftp-3.2.5-src.tar.gz && tar zxvf ncftp-3.2.5-src.tar.gz && cd ncftp-3.2.5 && ./configure && make && make install
FTP_UPLOAD="NO"

# ftp backup remote host
FTP_HOST="backups.isp"

# ftp user login
FTP_LOGIN="myftplogin"
# ftp user password
FTP_PASSWORD="myftppassword"

#remote directory to upload backups (must exists)
FTP_REMOTE_PATH="/mnt/backup/" - смонтирована флешка

##############################################################
DATE=`date +%Y%m%d`

cd $BACKUP_DIR; mkdir $DATE; chmod 777 $DATE; cd $DATE;

tar cf - $SYSTEM_DIRS | gzip > system.tar.gz
mkdir sql; chmod 777 sql; cd sql;
${MYSQLDUMP} --opt --skip-lock-tables --single-transaction -h ${MYSQL_HOST} -p${MYSQL_PASSWORD} -u ${MYSQL_USER} --all-databases | gzip > mysql.sql.gz

##############################################################
cd $BACKUP_DIR
for i in *; do
  AGE=`echo $DATE-$i|bc`
  if [ $AGE -gt 69 ]; then
    AGE=`echo $AGE-69|bc`
  fi
  if [ $AGE -gt $MAX_AGE ]; then
    rm -rf $i
  fi
 done


case $FTP_UPLOAD in 
YES)
/usr/local/bin/ncftpput -R -v  -u ${FTP_LOGIN} -p ${FTP_PASSWORD}  ${FTP_HOST} ${FTP_REMOTE_PATH} ${BACKUP_DIR}${DATE} 
echo "FTP upload finished";;
NO)
echo "No FTP upload enabled";;
esac

и вот что:

 

[email protected]:/usr/home/ubilling # sh /mnt/backupalka.sh

 

в ответ вот:

 

mkdir: 20170613: File exists
tar: Removing leading '/' from member names
mkdir: sql: File exists
Warning: Using a password on the command line interface can be insecure.
[: bc:: unexpected operator
[: bc:: unexpected operator
No FTP upload enabled
 
Ничего никуда не поехало. Может беда в том что не по фтп.
Кто что знает, помогите!  Эти штуки что ниже я не делал...
# ftp upload of backup archive, using ncftp
# you can install it with following command: fetch ftp://ftp.ncftp.com/ncftp/ncftp-3.2.5-src.tar.gz&& tar zxvf ncftp-3.2.5-src.tar.gz && cd ncftp-3.2.5 && ./configure && make && make install
Изменено пользователем -VaSaK-

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

тут же черным по белому написано:

"No FTP upload enabled"

в том случае, как не сработала команда:

"/usr/local/bin/ncftpput -R -v -u ${FTP_LOGIN} -p ${FTP_PASSWORD} ${FTP_HOST} ${FTP_REMOTE_PATH} ${BACKUP_DIR}${DATE}"

Мож стоит вручную вбить в консоле и посмотреть выхлоп?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

 

Ничего никуда не поехало. Может беда в том что не по фтп.

А куда должно было поехать? Если на FTP, 100% беда в том что не по фтп)))

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

тут же черным по белому написано:

"No FTP upload enabled"

в том случае, как не сработала команда:

"/usr/local/bin/ncftpput -R -v -u ${FTP_LOGIN} -p ${FTP_PASSWORD} ${FTP_HOST} ${FTP_REMOTE_PATH} ${BACKUP_DIR}${DATE}"

Мож стоит вручную вбить в консоле и посмотреть выхлоп?

Как поправить, что бы на /mnt залилось?  :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
BACKUP_DIR="/usr/local/www/apache24/data/billing/content/backups/sql" - путь к папке где создается дамп из вэб-морды

Схуяли вы там бекапы складировать собрались?

 

MAX_AGE=1

фу

 

SYSTEM_DIRS="/etc /usr/local/etc /usr/local/www/apache24/data" - 22 заменено на 24 версия апача

ок

 

 

FTP_UPLOAD="NO"

ну и? наличие только локальных бекапов - эквивалентно их отсутствию.

 

 

[: bc:: unexpected operator [: bc:: unexpected operator

Первопричина - вот нехер, указывать неосмысленные BACKUP_DIR с имеющимся внутрях контентом.

Изменено пользователем nightfly

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

 

Схуяли вы там бекапы складировать собрались?

Не вы/мы, а я. Схуяли я буду для 3-х килобайтного файлика заводить отдельный тазик для бекапов? <_<  Почему нельзя на флешку или юсб-хдд.

 

 

фу

В режиме настройки ну.  :P

 

 

ок

ок) :lol:

 

 

ну и? наличие только локальных бекапов - эквивалентно их отсутствию.

В будущем, допустим сегодня, можно создать 100500 этих бекапалок.сш и  тыкать их (бакапы) везде и всем. :angry:

 

 

Первопричина - вот нехер, указывать неосмысленные BACKUP_DIR с имеющимся внутрях контентом.

А  хрен его знает, от нечего делать, хочется, руки чешутся.  ^_^

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

 

Не вы/мы, а я. Схуяли я буду для 3-х килобайтного файлика заводить отдельный тазик для бекапов?

Очевидно  предполагается, что вам жаль создать отдельную чистую папочку для хранения локальных бекапов? Как оно и было в дефолте.

х#&#036; бы с ним - почему вы выбрали для этого директорию входящую в SYSTEM_DIRS? :D

 

 

 

 

В режиме настройки ну. :P

Всеравно "фу".

 

 

 

В будущем, допустим сегодня, можно создать 100500 этих бекапалок.сш и тыкать их (бакапы) везде и всем. :angry:

Для типичных задач типа "на всякий случай, если надо будет просто базу откатить" есть штатная механика, в виде

1 1 * * *    /bin/ubapi "backupdb"
10 10 1 * *     /bin/ubapi "autocleandb"

Когда нужны по хорошему полноценные бекапы? Например, в ситуации "у вас сгорел винт". Все. У вас их нет.

 

 

 

В будущем, допустим сегодня, можно создать 100500 этих бекапалок.сш и тыкать их (бакапы) везде и всем. :angry:

Не понял, почему вам кажется что много разных скриптов, будут складывать локальные бекапы как-то иначе, чем один, на все тот же винт который в финале сгорит.

 

 

 

А хрен его знает, от нечего делать, хочется, руки чешутся. ^_^

Ну вот вам и ответ. BACKUP_DIR - указывает место, куда им нужно складываться, и это не должно быть никоим образом та же директория:

1. которая сама по себе бекапиться

2. которая затирается при каждом обновлении биллинга

3. вообще имеет отношение к SYSTEM_DIRS которые какраз и указывают, чего конкретно мы хотим сохранить на черный день.

 

Еще раз повторюсь - наличие только локальных бекапов, эквивалентно их полному отсутствию. По дефолту - они складываются на внешний ФТП, хотя никто не мешает ложить их и на гуглдрайв, дропбокс, хоть мылом себе куда-то слать аттачем. ФТП там чисто для примера.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

 

... чем один, на все тот же винт который в финале сгорит.
 

Ну почему же, это отдельно живущая флешка или винт, почему таки все должно сгореть? Мы в аду, да, не настолько  :lol:

Просто проще было написать, как все же собрать и сложить туда (на флешку) гребаный бекап  ;)

Раз уж есть некий скрипт, решил попробовать, но чет не хватило рук (ума).. :D  

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Добрый день! При вызове backupalka.sh в логах появляется

tar: /var/named/etc: Cannot stat: No such file or directory

tar: Error exit delayed from previous errors.

Поэтому убрал из списка system_dirs.

 

Создаются бекапы system.tar.gz и mysql.sql.gz с размерами ~50mb и ~11mb cоответственно.

Но почему у mysql.sql.gz размер меньше на 60mb чем у бекапа созданного через панель управления?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
17 минут назад, region14 сказал:

Но почему у mysql.sql.gz размер меньше на 60mb чем у бекапа созданного через панель управления?

Потому что, таки да, архивированный...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
35 минут назад, region14 сказал:

Добрый день! При вызове backupalka.sh в логах появляется

tar: /var/named/etc: Cannot stat: No such file or directory

tar: Error exit delayed from previous errors.

Значит что-то не так с путями...

 

Изменено пользователем ISK

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
4 минуты назад, ISK сказал:

Значит что-то не так с путями...

 

Спасибо за подсказку.Оказывается не установлена система доменных имён (named), поэтому ругался в логах, но я уже убрал

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

  • Похожие публикации

×