我有一个使用postgres SQL在标准Google App Engine中运行的Django应用。
我正在将Google Cloud SQL(postgres)与Google App Engine一起使用。 如何每天凌晨2点备份数据库,并将.sql文件保存在Google存储桶中?
我想每天运行cron以将数据库快照保存在其中一个存储桶中。
使用django-extensions和django-dbbackup,我创建了一个cron作业,该作业在本地工作。但是在GAE上,我收到此错误:
dbbackup.db.exceptions.CommandConnectorError: Error running: pg_dump db-development --host=67.74.73.21 --port=5432 --username=db-development-user --no-password --clean
如何在GAE中设置psql密码或使用.pgpass文件?] >>
代码:
# cron.yaml cron: - description: "DB Backup CRON job" url: /core/cron-jobs # the path to your view schedule: every 2 minutes # the frequency for running the job retry_parameters: min_backoff_seconds: 120 max_doublings: 5
# views.py def my_background_job(request): call_command('runjobs', 'daily') return HttpResponse('Cron run success', status="200")
# myapp>jobs>daily>db_backup.py (example documented in django_extensions) from django_extensions.management.jobs import DailyJob class Job(DailyJob): help = "Django Daily DB Backups" def execute(self): from django.core import management management.call_command("dbbackup")
# settings.py INSTALLED_APPS = [ ... 'django_extensions', 'dbbackup', # django-dbbackup ]
https://cloud.google.com/sql/docs/postgres/backup-recovery/backing-up中的Postgres备份文档不明确。 Google所说的“自动备份”对我没有多大帮助,因为我没有在任何地方将* .psql文件中的数据库转储。他们确实提到“当前,您只能使用API设置备份的自定义位置。”但仅适用于该地理位置。
我该如何为在Google App Engine上运行的Django应用程序的Postgres DB(作为Google存储桶中的* .psql转储文件)进行每日备份?[]
我有一个使用postgres SQL在标准Google App Engine中运行的Django应用。我在Google App Engine中使用Google Cloud SQL(postgres)。如何每天凌晨2点备份数据库,并保存....它描述了如何使用gcloud命令或rest API以SQL转储或CSV格式导出数据库并将其保存到Cloud Storage。
内部,它使用pg_dump,这与django-dbbackup扩展也使用的相同。