Есть ли возможность потокового ввода в RAR

Я использую RARLABS RAR.exe для архивирования / резервного копирования данных моего сервера. Я знаком с использованием RAR для создания архива и добавления файлов из папки, но как насчет потоковой передачи данных непосредственно в архив?

Например, при резервном копировании баз данных MySQL я использую команду mysqldump, которая включает команду pipe в текстовый файл. Было бы неплохо пропустить шаг файла и перейти непосредственно в архивный файл, используя что-то вроде следующего синтаксиса:

mysqldump -uUserName -pPassword --all-databases > rar.exe newarchivename.rar

Кто-нибудь знает, возможно ли то, что я описал, или что-то подобное?

2 ответа

Я связался с поддержкой RARLabs и получил ответ. Оказывается, что RAR.EXE может обрабатывать потоковый ввод аналогично тому, как работает gzip. Вам просто нужно указать опцию -si:

   -si[name]
     Read data from stdin (standard input), when creating
     an archive. Optional 'name' parameter allows to specify
     a file name of compressed stdin data in the created
     archive. If this parameter is missing, the name will be
     set to 'stdin'. This switch cannot be used with -v.

Почему я хочу использовать RAR вместо GZIP? Хорошо, что GZIP не имеет возможности автоматически включать отметку даты в имя файла.

Итак, с этой информацией, вот пример того, как я буду выполнять резервное копирование информации базы данных MySQL:

mysqldump --all-databases | rar a -siWordPressDB.sql -ag_MMMDDYYYY-HHMM WordPressDB.sql.rar

Который создает архивный файл, похожий на следующее имя:

WordPressDB.sql_Feb242010-0938.rar

и содержит один файл:

WordPressDB.sql

Довольно круто...

Спасибо, именно то, что я ищу, это делает rar намного более полезным.

хорошо, не знал, что это могло бы сделать это (ни одна из моих версий rar не поддерживает опцию -si.. время для обновления) - Джеймс 24 февраля в 19:07

Эта функция по крайней мере доступна, начиная с v3.71

По какой-то причине этой функции нет в руководстве.
Вы можете найти эту информацию и многое другое в файле rar.txt.
(* nix) Обычно в /usr/share/doc/rar (rar.txt или rar.txt.gz)

Другие вопросы по тегам