我试图备份数据库并使用Fabric将它们移动到不同的服务器。使用结构写入远程文件
当在远程服务器上打开文件写入失败并出现错误时。
newFile = open('%s%s' % (dumpPath,newFileName) ,'w')
IOError: [Errno 2] No such file or directory: '/home/ec2-user/dbbackup.sql.bz2'
的文件存在,我甚至尝试,以防万一面料没有必须的权限来创建事先创建,但它仍然没有工作
run("touch dbbackup.sql.bz2")
编辑:我知道,我可以上传到文件一个远程服务器,但那不是我想要做的与打开命令。我试图压缩一个大文件(数据库转储)是否可以在远程服务器上执行此操作,或者是否必须将数据库转储复制到本地主机,然后在那里进行压缩,然后重新上传。这是本地主机上压缩:
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()
谢谢,正在尝试使用python进行压缩,但使用gzip也能正常工作。 – JiminyCricket 2011-06-06 19:21:03