Найти - Пользователи
Полная версия: bz2 python
Начало » Python для экспертов » bz2 python
1 2
pochechyev
Доброго дня!

Сейчас пишу скрипт который будет делать бекап.
Использую bz2 (альтернативы не предлагать).

Вопрос такой, как сделать архивацию папки а не одного файла с помощью
bz2 and python.

Спасибо.
clopomor
перед тим по папці пройтись tar і зібрати в один архів а тоді уже bz2
shiza
примерно как-то так..
import tarfile

tar = tarfile.open("sample.tar.bz2", "w:bz2")
for name in ["test/zlib.dll", "test/winssl.dll"]:
tar.add(name)

tar.close()
подробнее см. документацию к модулю tarfile
и надо будет обход по дирректориям сделать (см. os.walk)
pochechyev
спасиб
balu
Может больше подойдет такое? такой вариант, имхо, предпочтительней тем, что более переносим.
#!/bin/bash

DIR="/Your/Path"
BACKUP_DIR="/Your/Backup/Path"

BACKUP_DIR=$BACKUP_DIR/`date +"%Y%m%d"`
mkdir $BACKUP_DIR
cp -R $DIR $BACKUP_DIR
cd $BACKUP_DIR
BACKUP_FILE=`date +"%Y%m%d"`.tar.bz2
echo `pwd`
Pwd=`pwd`
cd .. && \
tar cf - "$Pwd" | bzip2 -f > "$Pwd.tar.bz2"
rm -r -f $BACKUP_DIR
shiza
balu
Что ты имеешь ввиду под переносимостью?
balu
С машины на машину. bash, tar, bz2/gz есть в любой минимальной поставке, а для такой мелочи, как в моем примере, питон использовать как-то не очень - зависишь от версии, библиотеки, текстового редактора (иногда - настроек) - не стоит оно того. ИМХО.
slivlen
balu
Может больше подойдет такое? такой вариант, имхо, предпочтительней тем, что более переносим.
Зачем так сложно? =)
#!/bin/bash

BKP_TO=/backup
BKP_DIRS='/a /b /c'

mkdir -p $BKP_TO
tar cjf $BKP_TO/`date +"%Y%m%d"`.tar.bz2 $BKP_DIRS
balu
slivlen
Зачем так сложно? smile
Можно и так :)
shiza
balu
Зато вариант на питоне работает даже под windows. И ничего не требует, кроме питона (выше 2.3).
Т.е. впорос совместимости версий, библиотеки ИМХО несущественен.
Насчет настроек редактора, вообще не понял =)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB