Форум сайта python.su
Доброго дня!
Сейчас пишу скрипт который будет делать бекап.
Использую bz2 (альтернативы не предлагать).
Вопрос такой, как сделать архивацию папки а не одного файла с помощью
bz2 and python.
Спасибо.
Отредактировано (Дек. 11, 2008 18:17:07)
Офлайн
перед тим по папці пройтись tar і зібрати в один архів а тоді уже bz2
Отредактировано (Дек. 11, 2008 19:51:49)
Офлайн
примерно как-то так..
import tarfile
tar = tarfile.open("sample.tar.bz2", "w:bz2")
for name in ["test/zlib.dll", "test/winssl.dll"]:
tar.add(name)
tar.close()
Отредактировано (Дек. 12, 2008 06:52:34)
Офлайн
спасиб
Офлайн
Может больше подойдет такое? такой вариант, имхо, предпочтительней тем, что более переносим.
#!/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
Отредактировано (Дек. 16, 2008 09:48:54)
Офлайн
balu
Что ты имеешь ввиду под переносимостью?
Офлайн
С машины на машину. bash, tar, bz2/gz есть в любой минимальной поставке, а для такой мелочи, как в моем примере, питон использовать как-то не очень - зависишь от версии, библиотеки, текстового редактора (иногда - настроек) - не стоит оно того. ИМХО.
Офлайн
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
Офлайн
slivlenМожно и так :)
Зачем так сложно? smile
Офлайн
balu
Зато вариант на питоне работает даже под windows. И ничего не требует, кроме питона (выше 2.3).
Т.е. впорос совместимости версий, библиотеки ИМХО несущественен.
Насчет настроек редактора, вообще не понял =)
Офлайн