def _backup_geonode(t=None, remote=None, local=None):
t = _request_input("Type (vanilla/geoshape)", t, True, options=GEONODE_TYPES)
remote = _request_input("Remote Destination Folder", remote, True)
local = _request_input("Local File Path", local, False)
if _request_continue():
print "Backing up data..."
sudo("[ -d {d} ] || mkdir {d}".format(d=remote))
sudo("[ -d {d}/db ] || mkdir {d}/db".format(d=remote))
sudo('chown -R {u}:{g} {d}/db'.format(u="postgres", g="postgres", d=remote))
with settings(sudo_user='postgres'):
sudo('pg_dump geonode | gzip > {d}/db/geonode.gz'.format(d=remote))
sudo('pg_dump geonode_imports | gzip > {d}/db/geonode_imports.gz'.format(d=remote))
sudo('cp -R {gsd} {d}/geoserver'.format(gsd=PATH_GEOSERVER_DATA, d=remote))
if local:
local_files = get(remote, local_path=local)
for local_file in local_files:
print "Downloaded Local File: "+local_file
print "Backup complete."
评论列表
文章目录