Новая версия скрипта для бэкапа (
оригинал). Или другая версия…
Логика работы с файлами-списками не поменялась. Поменялся только параметр скрипта — теперь это имя архива без расширения, скрипт сам добавит
.tar.gz.
Новое:
- Создание архива переместилось из внешнего архиватора внутрь скрипта. Создаётся tar.gz архив.
- Все пути теперь системо-зависимы, т.е. скрипт должен работать на линуксах тоже
Кроме приятного нового, повились неприятный минус — скрипт стал жрать кучу памяти.
Сделать сжатый архив с помощью модуля tarfile не вышло. Архив создаётся и сжимается, но внтури архива пути почему-то съезжают.
Т.е. нужно создать архив
d:\dropbox\my dropbox\backup\backup.tar.gz, он там появляется. Но если открыть этот gz архив, tar архив будет глубоко внутри по пути
dropbox\my dropbox\backup\backup.tar. Т.е. полный путь до данных получается такой:
d:\dropbox\my dropbox\backup\backup.tar.gz\dropbox\my dropbox\backup\backup.tar\.... В принципе с этим можно жить, но некрасиво…
Поэтому сделал по-другому — сначала создаётся tar архив без сжатия со всеми файлами, затем он сжимается. Вот в этом месте функции, сжимающей архив, он, архив, передаётся целиком, т.е. весь файл весом несколько сот Мб засасывается в память.
Надо бы ещё покопать в эту сторону и найти лучшее решение…