Argument list too long

K
На сайте с 12.07.2006
Offline
295
Kpd
989

Скрипт бэкапа начал ругаться ошибкой Argument list too long

Сама команда:

nice -n 15 /usr/local/bin/rar a -m0 -v1G -ppassword img.rar /path/img/* > /dev/null

Я погуглил и понял, что значит эта ошибка и что её обходят через find. Но не могу подобрать параметры, чтобы после find у меня данные ушли в архив с сохранением структуры папок. Подскажите, какие параметры нужны в этом случае?

S
На сайте с 02.05.2014
Offline
61
#1
Kpd:
Сама команда:
nice -n 15 /usr/local/bin/rar a -m0 -v1G -ppassword img.rar /path/img/* > /dev/null
Я погуглил и понял, что значит эта ошибка и что её обходят через find. Но не могу подобрать параметры, чтобы после find у меня данные ушли в архив с сохранением структуры папок. Подскажите, какие параметры нужны в этом случае?

А разве rar не платный? и зачем вам выставлять приоритет? Архивируете папку целиком? Если да, то find не нужен.

Попробуйте бесплатный tar, шифровать можно через openssl

tar -cf - /path/img| openssl aes-128-cbc -k Ваш_пароль -out img.rar

Или так, но сначала создайте ключи
tar -cf - /path/img | gpg -e -z 0 -r 'Имя_Ключа' -o img.rar
С
На сайте с 14.04.2011
Offline
63
#2

Kpd,

Архивируйте не файлы в директории /path/img/*, а саму директорию /path/img.

Вообще такое количество файлов в одной директории будут создавать вам ненужную нагрузку на диск, более 64 тысяч рекомендуется разносить по поддиректориям.

В BSD этот параметр настраиваемый, через kern.argmax.

Про tar вам тоже правильно советуют.

RAS
На сайте с 27.11.2005
Offline
126
RAS
#3

Шифровать лучше через тот же gpg, после упаковки через tar.

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


tar -cz /path/img | gpg -c -o archive.tgz.gpg

Пароль к архиву вводите при запуске команды.

Администрируем сервера, впс, вдс. Ускоряем загрузку сайтов - DLE, Word Press, Joomla, Modx... Настраиваем безопасность. Ручная чистка rootkit/malware/вирусов. (/ru/forum/867860) Разработка - shell/bash/sh/python/perl.
K
На сайте с 12.07.2006
Offline
295
Kpd
#4
Sujcnm:
А разве rar не платный?

Вроде нет, из портов ставил.

Sujcnm:
и зачем вам выставлять приоритет?

Чтобы было меньше нагрузки на другие процессы.

Сентябрь:
Архивируйте не файлы в директории /path/img/*, а саму директорию /path/img.

Ок, завтра попробую без *

Но в самой папке img нет кучи файлов, там 5 папок, в них тоже подпапки. Т.е. нет одной большой папки с кучей файлов. Сколько там всего файлов я не помню, наверное, больше 500к, но все распределены хорошо.

Сентябрь:
В BSD этот параметр настраиваемый, через kern.argmax.

Через sysctl ?

С
На сайте с 14.04.2011
Offline
63
#5
Kpd:
Через sysctl ?

Через sysctl только чтение, установка через /boot/loader.conf и reboot.

RAS
На сайте с 27.11.2005
Offline
126
RAS
#6

Не надо менять kern.argmax пакуйте без зведочки просто, т.е. всю папку. Если требуется только внутри папки. то используйте трюк с ".", а сам архив вне папки.

Например:


cd /path/img/
/usr/local/bin/rar a -m0 -v1G -ppassword ../img.rar . > /dev/null
K
На сайте с 12.07.2006
Offline
295
Kpd
#7

Помогла упаковка без *

Благодарю за помощь.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий