September 15, 2023

Уменьшаем размер архива проектов 

За годы работы на жестком диске папка Work выросла почти до 1 ТБ. Можно конечно вручную начать архивировать целой папкой, но это долго в моем случае. К тому же если вдруг понадобится найти какой-то файл, придется шариться по большим и тяжелым zip файлам, а это неудобно.

Для себя я придумал удобное и быстрое решение — с помощью bash скрипта архивировать каждый файл, сохраняя при этом всю иерархию папок. Этот вариант также работает для поиска в облаке (у меня был бекап в Яндекс Диске).

#!/bin/bash

# Найти все файлы (не директории) в текущей директории и поддиректориях
find . -type f -exec sh -c '
    for file do
        # Архивировать каждый файл в ZIP без добавления директорий (-j)
        zip -j "${file}.zip" "${file}" &&
        
        # Удалить оригинальный файл, если архивация прошла успешно
        rm -f "${file}"
    done
' sh {} +

Переходим в терминале в директорию файлы внутри которой хотим архивировать, пишем в терминал:
wget https://raw.githubusercontent.com/dimapanov/zip_and_delete/master/zip_and_delete.sh && chmod +x zip_and_delete.sh && ./zip_and_delete.sh

Готово Данный способ сэкономил мне >300 Гб.