резервное копирование путем сжатия tar каждого каталога

резервное копирование путем сжатия tar каждого каталога

Я ищу метод сканирования каталога (не рекурсивный) и его архивации с использованием исходного имени папки, а затем удаления папки (чтобы у меня была сжата только папка). Есть ли у кого-нибудь команда для этого?

решение1

Я могу предложить следующий однострочный вариант (предположим, что текущий каталог является родительским для каталогов, для которых выполняется резервное копирование):

for f in */; do tar -czf "${f%/}.tar.gz" "$f"; rm -rf "$f"; done

Чтобы изменить имя каждой папки на строчные буквы и заменить пробелы подчеркиванием:

for f in */; do f="${f// /_}"; f="${f,,}"; tar -czf "${f%/}.tar.gz" "$f" && rm -rf "$f"; done_

Связанный контент