Опитвам се да архивирам бази данни и да ги премествам на различни сървъри, използвайки Fabric .
Когато сте на отдалечен сървър, отварянето на файл за запис е неуспешно с грешката.
newFile = open('%s%s' % (dumpPath,newFileName) ,'w')
IOError: [Errno 2] No such file or directory: '/home/ec2-user/dbbackup.sql.bz2'
Тези файлове съществуват и аз дори се опитах да създам предварително само в случай, че fabric няма разрешения за създаване, но пак не работи
run("touch dbbackup.sql.bz2")
РЕДАКТИРАНЕ: Знам, че мога да качвам файлове на отдалечен сървър, но не това се опитвам да направя с командата open. Опитвам се да компресирам голям файл (изхвърляне на база данни) Възможно ли е да направя това на отдалечения сървър или ще трябва да копирам изхвърлянето на DB на локалния хост, да компресирам там и след това да кача обратно. Ето компресията на локалния хост:
compObj= bz2.BZ2Compressor()
newFile = open('%s%s' % (dumpPath,newFileName) ,'w')
dbFile = file( '%s%s' % (dumpPath,filename), "r" )
block= dbFile.read( BLOCK_SIZE )
while True: #write the compressed data
cBlock= compObj.compress( block )
newFile.write(cBlock)
block= dbFile.read( BLOCK_SIZE )
if not block:
break
cBlock= compObj.flush()