Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 11, 2008 18:16:52

pochechyev
От:
Зарегистрирован: 2008-02-29
Сообщения: 199
Репутация: +  0  -
Профиль   Отправить e-mail  

bz2 python

Доброго дня!

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

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

Спасибо.



Отредактировано (Дек. 11, 2008 18:17:07)

Офлайн

#2 Дек. 11, 2008 19:50:56

clopomor
От:
Зарегистрирован: 2007-06-12
Сообщения: 154
Репутация: +  0  -
Профиль   Отправить e-mail  

bz2 python

перед тим по папці пройтись tar і зібрати в один архів а тоді уже bz2



Отредактировано (Дек. 11, 2008 19:51:49)

Офлайн

#3 Дек. 12, 2008 06:51:07

shiza
От:
Зарегистрирован: 2007-07-03
Сообщения: 1073
Репутация: +  0  -
Профиль   Отправить e-mail  

bz2 python

примерно как-то так..

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)



Отредактировано (Дек. 12, 2008 06:52:34)

Офлайн

#4 Дек. 15, 2008 17:55:20

pochechyev
От:
Зарегистрирован: 2008-02-29
Сообщения: 199
Репутация: +  0  -
Профиль   Отправить e-mail  

bz2 python

спасиб



Офлайн

#5 Дек. 16, 2008 09:46:52

balu
От:
Зарегистрирован: 2006-05-24
Сообщения: 521
Репутация: +  0  -
Профиль   Отправить e-mail  

bz2 python

Может больше подойдет такое? такой вариант, имхо, предпочтительней тем, что более переносим.

#!/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)

Офлайн

#6 Дек. 16, 2008 11:30:27

shiza
От:
Зарегистрирован: 2007-07-03
Сообщения: 1073
Репутация: +  0  -
Профиль   Отправить e-mail  

bz2 python

balu
Что ты имеешь ввиду под переносимостью?



Офлайн

#7 Дек. 16, 2008 12:52:41

balu
От:
Зарегистрирован: 2006-05-24
Сообщения: 521
Репутация: +  0  -
Профиль   Отправить e-mail  

bz2 python

С машины на машину. bash, tar, bz2/gz есть в любой минимальной поставке, а для такой мелочи, как в моем примере, питон использовать как-то не очень - зависишь от версии, библиотеки, текстового редактора (иногда - настроек) - не стоит оно того. ИМХО.



Офлайн

#8 Дек. 16, 2008 13:41:30

slivlen
От:
Зарегистрирован: 2006-07-06
Сообщения: 764
Репутация: +  0  -
Профиль   Отправить e-mail  

bz2 python

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



Офлайн

#9 Дек. 16, 2008 16:02:24

balu
От:
Зарегистрирован: 2006-05-24
Сообщения: 521
Репутация: +  0  -
Профиль   Отправить e-mail  

bz2 python

slivlen
Зачем так сложно? smile
Можно и так :)



Офлайн

#10 Дек. 17, 2008 00:51:36

shiza
От:
Зарегистрирован: 2007-07-03
Сообщения: 1073
Репутация: +  0  -
Профиль   Отправить e-mail  

bz2 python

balu
Зато вариант на питоне работает даже под windows. И ничего не требует, кроме питона (выше 2.3).
Т.е. впорос совместимости версий, библиотеки ИМХО несущественен.
Насчет настроек редактора, вообще не понял =)



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version