我正在尝试备份数据库并使用
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")
编辑:我知道我可以将文件上传到远程服务器,但这不是我想用open命令做的.我正在尝试压缩大文件(数据库转储)是否可以在远程服务器上执行此操作,或者我是否必须将数据库转储复制到本地主机,在那里压缩然后再上传.这是本地主机上的压缩:
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()