PDA

Показать полную графическую версию : Разбить архив на части


venuko
29-06-2015, 21:03
Есть скрипт sh его запускаю по крону каждую ночь и жму в архив бд и сайт:

###### Config ######
host=localhost
username=login
password=password
database=namebd
charset=utf8
###################

cd /backup_site &&
mysqldump -h$host -u$username -p$password --default-character-set=$charset $database > /backup_site/bdname.sql &&
tar -czf /backup_site/backup_domain_tld.tar.gz /var/www/vhosts/domain.tld/* &&
echo OK

Стоит также ЯндексДиск для консоли (https://help.yandex.ru/disk/cli-clients.xml#cli-install), он зеркалит архив к себе с сервера. Проблема в том что сайт вырос, и архив уже огромный, какой командой можно архив поделить на части, но потом его разжать без потери данных из всех частей? Подозреваю что слишком большой файл, каие-то ограничения у Яндекса, хотя говорится что только в веб-версии на 2Гб ограничения, про консольную версию ничего не говорится. Подскажите гуру, синтаксис команды, можно пример. Спасибо

ruslandh
29-06-2015, 21:27
Как по-английски разбить, разделить, разрезать на части?

ruslandh
29-06-2015, 21:43
man split

man tar
Ключ -L

http://www.sql.ru/forum/215981/razbit-fayl-na-chasti

venuko
30-06-2015, 07:43
Как по-английски разбить, разделить, разрезать на части? »

про man знаю :) хотел примерный пример, как нахjду сразу при сжатии резать архивы с помощью tar

ruslandh
30-06-2015, 08:07
Ну, там по ссылке есть:
tar cf apache_1.3.33.tar.gz.tar -L 1024 apache_1.3.33.tar.gz

Кстати - может вам инкрементные архивы надо делать,

http://www.opennet.ru/tips/info/2341.shtml

Только у вас дам база - tar может не понять что там изменилось.

venuko
30-06-2015, 08:10
Да за чем их плодить. Мне кажется просто каждый раз пред новым бэкапом удалять старый архив да и все. Я вот думаю может бить архив 7zip так как потом склеить и распаковать на десктопе в винде людям проще будет в 7zip, ведь так?

А выяснил еще проблемы, почему-то когда запускаю tar то архив на 11 Гб где на сервере падает, в консоле вижу что gzip демон вроде как упал. Не понимаю ничего, это какие-то ограничения на создание архив на сервере или что? Какой-то ключ нужно ставить в команду в связи с этим?

ruslandh
30-06-2015, 08:25
А что за демон gzip? не понял.

С большими архивами - беда - просто элементарного ОЗУ для задачи может не хватить.

Не надо винду привлекать. У неё файловая система другая - она может так перелопатить содержимое - мало не покажется.

venuko
30-06-2015, 08:30
А что за демон gzip? не понял. »

извините балбеса, не демон, а то что команда была запущена tar с ключом czf (т.е. предварительное сжатие) и в самом конце сжатия, зависла, и все на этом, архив получается биты, архивирование не закончено :(

А у rsync какие-то есть ограничения, или он может хоть 100Гб за раз передать?

Если беда с ОЗУ, хм, тогда как быть с сжатием, всетакись бить на тома? Это решит проблему, или отказаться от сжатия архива?

ruslandh
30-06-2015, 09:02
Насчёт формальных ограничений rsync не слышал, но на таком объёме одного файла - может и зависнуть (опять-же из-за ОЗУ), хотя кучу мелких файлов такого объёма передавал.

Ну да - бить на тома. Это и не только ОЗУ роль играет, но и файловая сисема может иметь ограничение на величину файла (например fat32 - 4ГБ).

venuko
30-06-2015, 09:04
Насчёт формальных ограничений rsync не слышал, но на таком объёме одного файла - может и зависнуть (опять-же из-за ОЗУ), хотя кучу мелких файлов такого объёма передавал.
Ну да - бить на тома. Это и не только ОЗУ роль играет, но и файловая сисема может иметь ограничение на величину файла (например fat32 - 4ГБ). »

выяснил, озу не хватало, сделал разбиение на тома по 2 Гб, все сжалось :)

ruslandh
30-06-2015, 09:04
А зачем вы на диск кидаете?
> /backup_site/bdname.sql
Можно-же сразу перенаправить на вхлд tar.

PS tar был создан в эпоху манитных лент, и приспособлен для разбиение на части. Шло архивирование - сначало на одну ленту, лента заканчивалась,,потом бобину меняли, и архивирование продолжалось на вторую ленту. :)

venuko
30-06-2015, 09:13
А зачем вы на диск кидаете? »

А куда кидать? Сразу лить на ЯндексДиск?

ruslandh
30-06-2015, 09:38
Что-нибудь типа:
mysqldump -h$host -u$username -p$password --default-character-set=$charset $database | tar .....




© OSzone.net 2001-2012