Рекурсивная упаковка bzip2+upload ftp
Рекурсивная упаковка bzip2+upload ftp
Hi All,
периодически требуется вручную архивировать вложенные папки с файлами в формате bz2 и выкладывать их по ftp.
Как можно автоматизировать данный процесс?
Заранее благодарю за ответы.
периодически требуется вручную архивировать вложенные папки с файлами в формате bz2 и выкладывать их по ftp.
Как можно автоматизировать данный процесс?
Заранее благодарю за ответы.
Рекурсивная упаковка bzip2+upload ftp
Спасибо за попытку, но если там есть вложенные папки, никакой рекурсии не происходит и не может произойти в силу ограничений bzip2, в котором нет поддержки упаковки папок.
Кроме того, мне нужно эту операцию сделать с помощью FAR, почему я сюда и обратился.
Выделить требуемую папку, выбрать пункт в меню и получить на выходе дерево с упакованными файлами, и желательно результат отправить через netbox (но и wput тоже годно).
Кроме того, мне нужно эту операцию сделать с помощью FAR, почему я сюда и обратился.
Выделить требуемую папку, выбрать пункт в меню и получить на выходе дерево с упакованными файлами, и желательно результат отправить через netbox (но и wput тоже годно).
Рекурсивная упаковка bzip2+upload ftp
ЕМНИП bzip2 просто сжимает данные, никакой информации об именах и тем более структуре он не хранит.
Поэтому эту работу должен выполнить кто-то другой, стандарный способ tar -> bzip2.
Можно отдельными утилитами, можно с помощью 7z.
Засылать через netbox не умею, у меня на него аллергия.
Поэтому эту работу должен выполнить кто-то другой, стандарный способ tar -> bzip2.
Можно отдельными утилитами, можно с помощью 7z.
Засылать через netbox не умею, у меня на него аллергия.
Рекурсивная упаковка bzip2+upload ftp
Нельзя использовать tar. Файлы bz2 потом качают клиенты и их ПО поддерживает только bz2.
Вопрос решается скриптом обхода всех папок. Потом его нужно присобачить к фару.
Вопрос решается скриптом обхода всех папок. Потом его нужно присобачить к фару.
Рекурсивная упаковка bzip2+upload ftp
Фактически нужен скрипт реализующий ф-и tar - рекурсивный сбор потока данных из каталога и обратное восстановление.
Рекурсивная упаковка bzip2+upload ftp
У клиентов проприетарное ПО. Поэтому им нужно скармливать только bz2 без промежуточных упаковок.
- zg
- zero-gravity
- Posts: 6036
- Joined: Tue 15 Mar, 2005 17:36
- Location: riga
- Been thanked: 185 times
- Contact:
Рекурсивная упаковка bzip2+upload ftp
в чём проблема организовать обход папок рекурсивно через for /d?
Рекурсивная упаковка bzip2+upload ftp
Очевидно, что просто обхода недостаточно, надо сохранить файловую структуру (имена, даты, атрибуты?...).
К тому же это никак не поможет восстановить файлы на клиентской стороне где 'только bz2'.
- zg
- zero-gravity
- Posts: 6036
- Joined: Tue 15 Mar, 2005 17:36
- Location: riga
- Been thanked: 185 times
- Contact:
Рекурсивная упаковка bzip2+upload ftp
вы что, издеваетесь? локально мы зашли в папку и у нас есть её путь, сформировать путь на фтп с учётом этой папки несложно, дальше даже делать ничего не надо, wput по умолчанию создаёт папку на ftp, если её нет.2useven10 wrote:Очевидно, что просто обхода недостаточно, надо сохранить файловую структуру (имена, даты, атрибуты?...).
Рекурсивная упаковка bzip2+upload ftp
Я это интерпретирую - как один архив на папку с последующей передачей на ftp, а не передачу индивидуальных файлов (даже упакованных).
- zg
- zero-gravity
- Posts: 6036
- Joined: Tue 15 Mar, 2005 17:36
- Location: riga
- Been thanked: 185 times
- Contact:
Рекурсивная упаковка bzip2+upload ftp
первый вариант невозможен и топикстартер об этом знает:
более того, интерпретировать вот это иначе, как 1 файл -> 1 архив у меня не получается:v1r11 wrote:Спасибо за попытку, но если там есть вложенные папки, никакой рекурсии не происходит и не может произойти в силу ограничений bzip2, в котором нет поддержки упаковки папок.
v1r11 wrote:Выделить требуемую папку, выбрать пункт в меню и получить на выходе дерево с упакованными файлами, и желательно результат отправить через netbox (но и wput тоже годно).
Рекурсивная упаковка bzip2+upload ftp
Для решения такой задачи есть и такой вариант - сжать целевое дерево чем угодно и передать на сервер, где его обработает баш и пережмет как надо. Но на тот сервер нет доступа, только фтп. Соответственно он отпадает.
Эту задачу можно решать посредством lua, написав плагин с настройками. Это красивый вариант. И другим юзерам понравится.
Или можно взять и написать рекурсию в cmd/powershell, и потом передавать из фара в скрипт параметром целевую папку и уже сам скрипт будет паковать и отправлять файлы.
Эту задачу можно решать посредством lua, написав плагин с настройками. Это красивый вариант. И другим юзерам понравится.
Или можно взять и написать рекурсию в cmd/powershell, и потом передавать из фара в скрипт параметром целевую папку и уже сам скрипт будет паковать и отправлять файлы.
-
- Posts: 145
- Joined: Thu 04 Oct, 2012 13:53
- Location: Hamburg, DE
- Has thanked: 2 times
- Been thanked: 2 times
Рекурсивная упаковка bzip2+upload ftp
Это обязательно в Far'е делать?
Т.к. bzip2 в принципе файловой структуры не поддерживает, будем исходить из того, что один файл - один архив.
Тогда можно вот таким скриптом: (предполагает наличия MSYS2/MINGW/Cygwin или прочих аналогов)
Code: Select all
#!/bin/bash
dir="/d/example_path"
find "${dir}" -type f -not -name \*.bz2 -exec bzip2 --best {} +
wput [option]... "${dir}" ftp://...