Сайт занял всё место на диске, как бэкапнуть? - Форум успешных вебмастеров - GoFuckBiz.com - Страница 2
 
 
Форум успешных вебмастеров - GoFuckBiz.com

  Форум успешных вебмастеров - GoFuckBiz.com > Бизнес-решения > Скрипты, программы и технические решения
Дата
USD/RUB90.4082
BTC/USD69564.4707
Скрипты, программы и технические решения Обсуждаем скрипты, программы и новые технологии.

Закрытая тема
Опции темы Опции просмотра
Старый 20.02.2020, 03:55
Start Post: Сайт занял всё место на диске, как бэкапнуть? 
  #11
migratetobrain
Senior Member
 
Аватар для migratetobrain
 
Регистрация: 29.08.2017
Сообщений: 181
Бабло: $48240
По умолчанию

Есть папка на сервере с сайтом, весит 29Гб, дисковое просранство сервера 30 Гб, нужно переутановить ОС и вернуть папку на место. Как сделать? Можно было ба архивнуть, потом скачать разом, но места только 1Гб свободного, архив не влезет. Поставил на ускоренном интрнете скачивать через тоталкоммандер - похоже гиблое дело. Подумывал насчёт скрипта, чтобы поочери архивил папки (папок много и небольшие на каждую по отдельности хватит 1Гб) - переливал на другой серв - удалял - архивил след папку и тд, но не знаю команды для бинбаш, чтобы перед удалением дожидался пока архив перекачается на другой серв, а только потом удалял. Потом подумал что можно через тотал перекачать быстро если будут архивы папок и подумал сделать вот так:

PHP код:
#!/bin/bash

cd /var/www/www-root/data/www/site.com
tar 
-cvzf folder1.tar.gz folder1
rm 
-rf folder1
cd 
/var/www/www-root/data/www/site.com
tar 
-cvzf folder2.tar.gz folder2
rm 
-rf folder2 
есть список папок сайта, подскажите пожалуйста как составить переменную чтобы выполнить даный алгоритм. по итогу вместо всех папок должны остаться их архивы. Спасибо


Не сработает ли при этом
rm -rf folder1
до того пока не заархивируется
tar -cvzf folder1.tar.gz folder1



в итоге очнулся тоталкоммандер - пишет 10 часов, просто надо постпать..

Последний раз редактировалось migratetobrain; 20.02.2020 в 04:09.
migratetobrain вне форума  
Старый 21.02.2020, 04:38   #12
migratetobrain
Senior Member
 
Аватар для migratetobrain
 
Регистрация: 29.08.2017
Сообщений: 181
Бабло: $48240
ТС -->
автор темы ТС По умолчанию

Помогите с регуляркой в нотпаде, пожалуйста. Нужно сразу сделать несколько замен. Сейчас я меняю руками одно на другое или на пусто и таких замен произвожу с десяток поочерёдно одна за другой. Подскажите как составить регулярку для нотпада на примере "а" заменить на "б", потом "в" заменить на "г", потом "д" заменить на пусто, потом "е" заменить на "//", "ж" заменить на "\n"

// и \ нужно экранировать?
migratetobrain вне форума  
Старый 21.02.2020, 18:01   #13
arle9
Хостинг, серверы, домены
 
Регистрация: 04.02.2020
Сообщений: 27
Бабло: $2260
По умолчанию

Здравствуйте.
Вопрос №1 - как сделать копию сайта, чтобы развернуть его после переустановки ОС.
Рекомендуем сделать "топорно" через FTP подключение как это сделали вы.
НО! Обязательно сделайте дамп БД. Пара вариантов для вас на выбор:
Через mysqldump
- Зайдите в корень сайта, сделайте команду:
mysqldump database_name > ./database_name

Если БД весит больше, чем на сервере свободного места, выгрузите через экспорт из phpmyadmin.

Вопрос №2 - бэкапы сайта.
Очень рекомендуем использовать резервные копирования для своих проектов.
Если у вас виртуальный сервер, рассмотрите покупку облачного хранилища на 50-100ГБ и настройте туда бэкапы.
Рекомендуем для этого утилиту restic.

Примерная инструкция по использованию чтобы вам визуально было понятна сложность/простота настройки:
ШАГ 1А. Покупаете облачное хранилище, узнаете данные для подключения.
Шаг 1Б. Установите restic, в документации найдете команды. Установка 30-60 секунд займет.
ШАГ 2. Конфигурация подключения. В зависимости от протокола подключения создаете файл конфигурации подключения. Ниже описано для Swift протокола. Все операции под SSH делаются.
mkdir ~/.config/restic

echo "export OS_AUTH_URL=
export OS_REGION_NAME=
export OS_USERNAME=
export OS_PASSWORD=
export OS_TENANT_NAME=
export RESTIC_REPOSITORY=swift:backups:/restic
export RESTIC_PASSWORD=RESTIC_PASSWORD"\
> ~/.config/restic/.data-storage

Запуск переменных:
source ~/.config/restic/.data-storage

ШАГ 3. Тестирование создания бэкапа.
restic init

mysqldump -u root --all-databases | gzip | restic backup --stdin --stdin-filename all_dbs.sql.gz
Проверьте отработали ли бэкапы
restic snapshots

ШАГ 4. Настройке автоматические бэкапы БД и файлов сайта.
EDITOR=mcedit crontab -e

Впишите команды в крон.

#Restic full server backup at 23:50 everyday.
50 23 * . ~/.config/restic/.data-storage; /usr/bin/restic backup / --exclude={/root/_temp,/dev,/media,/mnt,/proc,/run,/sys,/tmp,/var/tmp,"/lost+found"}; /usr/bin/restic forget -q --prune --keep-daily 30
#Restic databases backup
30 23 * . ~/.config/restic/.data-storage; mysqldump -u root --all-databases | gzip | restic backup --stdin --stdin-filename all_dbs.sql.gz; /usr/bin/restic forget -q --prune --keep-daily 30
__________________
foxcloud.net
Домены, хостинг, серверы, IaaS в США, Европе, России.
arle9 вне форума  
Старый 21.02.2020, 18:51   #14
PowerVPS
Senior Member
 
Аватар для PowerVPS
 
Регистрация: 25.09.2017
Сообщений: 1,011
Бабло: $115260
По умолчанию

ftp не гарантирует целостность передачи данных.
Лучше использовать rsync

rsync -v -e ssh /home/* [email protected]:/home/

Для этого понадобится второй сервер с доступом по ssh.
__________________
Linux, Windows VPS: 2 Core 5Gb RAM, 40GB SSD от 12$
Ryzen 5 3600X, 64GB RAM, 480GB SSD - 50$
PowerVPS вне форума  
Старый 29.04.2020, 17:58   #15
migratetobrain
Senior Member
 
Аватар для migratetobrain
 
Регистрация: 29.08.2017
Сообщений: 181
Бабло: $48240
ТС -->
автор темы ТС По умолчанию

andyvein,

Цитата:
tar zcvf - /www/data | ssh [email protected] "cat > /backup/www/data.tar.gz"
а как потом таким же способом обратно всё распаковать также? без скачивания архива на первый сервер (там где нужно его распаковывать)

пробую по аналогии вот так на том сервере где лежит архив:
tar xvf - /backup/www/data.tar.gz | ssh [email protected] "cat > /www/data"

спрашивает о соединении с сервером - подтверждаю. но дальше ничего не происходит, даже до пароля дело не доходит. будто завис процесс и надо его стопать.

/backup/www/data.tar.gz | ssh [email protected] "tar xvf /www/data"
/backup/www/data.tar.gz | ssh [email protected] "tar xvf data.tar.gz /www/data"


так тоже не получается, ошибки выдаёт с правами, потом запрашивает всё-таки пароль, но снова ошибки
Cannot open: No such file or directory
Error is not recoverable: exiting now

подскажите плиз правильную комбинацию

Последний раз редактировалось migratetobrain; 29.04.2020 в 18:09.
migratetobrain вне форума  
Старый 01.05.2020, 10:59   #16
andyvein
Юниор
 
Регистрация: 15.10.2014
Сообщений: 27
Бабло: $25775
По умолчанию

обратно можно так

ssh [email protected] "cat /backup/www/data.tar.gz" | tar zxvf -
andyvein вне форума