LINUX.ORG.RU

tar + pv + gzip

 , , ,


0

1

Всем привет

есть один хостер, который не любит нагрузку на CPU и имеет лимиты на его использование. А я хочу делать свои бэкапы, но чтобы мои процессы не пристреливались их cpu-лимитером.

Для этого составил команду вида :

tar -cfv  ./somedir ./somedir2 | gzip | pv -L 1M > ./backup/files/files.tar.gz

Но архив не складывается, что-то там пишется в виде ^_�^H^@�/o^^@^C^C^@^@^@^@^@^@^@^@^@

Как же правильно в этом случае лимитировать через PV?

Нужно ли что-то указывать в виде параметров для gzip?

Спасибо.

Ответ на: комментарий от legolegs

точно, на автомате уже указал.

Вообще работает и в таком виде:

 tar -czvf - somedir1/ somedir2/ | pv -L 1M > ./backup/files/files.tar.gz

Но хотел понять, что не так с этими перенаправлениями в примере выше.

Aborigen1020
() автор топика
Ответ на: комментарий от Aborigen1020

Тогда лучше ограничивать несжатый поток tar | pv | gzip. Иначе упрется в лимит на хорошо сжимамых данных.

anonymous
()
Ответ на: комментарий от Aborigen1020

Но хотел понять, что не так с этими перенаправлениями в примере выше

Всё так, кроме того, что ты писал в файл v. В таком виде УМВР:

tar -cv ./somedir ./somedir2 | gzip | pv -L 1M > ./backup/files/files.tar.gz

v содержит несжатый tar, files.tar.gz является пустым гзипом (разжимается в файл нулевой длины).

legolegs ★★★★★
()
Последнее исправление: legolegs (всего исправлений: 1)
Ответ на: комментарий от legolegs

ты писал в файл v

Как это происходило? это же verbose, разве нет? Однако файл v у меня переодически появлялся, как ни странно.

Aborigen1020
() автор топика
Ответ на: комментарий от Aborigen1020

Имя файла – это параметр ключа f. Если что-то есть после f, то оно трактуется как имя файла.

akk ★★★★★
()

как-то ты издалека зашёл, обычно же это делается чем-нить типа

nice -n 19 ionice -c2 -n7 КОМАНДА

zolden ★★★★★
()
Ответ на: комментарий от zolden

nice не подходит, на хостинге лимиты на load cpu, а не на приоритеты. Это я потом понял, nice пробовал, в общем.

Aborigen1020
() автор топика

но чтобы мои процессы не пристреливались их cpu-лимитером.

Это лимитер или убиватель процессов?

AnDoR ★★★★★
()
Ответ на: комментарий от Aborigen1020

Как это происходило? это же verbose, разве нет?

По принятым во (внезапно) операционной системе GNU правилам после короткой опции, требующей имени файла, сразу или через пробел должно идти имя:

tar -cf foobar.tar -v somedir/
tar -cvf foobar.tar somedir/
tar -cffoobar.tar -v somedir/
tar -c --file foobar.tar -v somedir/
tar -c --file=foobar.tar -v somedir/

У tar есть ещё «традиционный» синтаксис из древних времён, без - и там действительно имя файла можно писать как ты писал

tar cfv foobar.tar somedir/

На самом деле ничего этого знать не надо, а можно просто делать tar c | ... и tar c > file.tar, но людям надо обязательно всё усложнять на ровном месте.

legolegs ★★★★★
()
Последнее исправление: legolegs (всего исправлений: 2)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.