How it works...

The backup script will create backup files under /home/myproject/db_backups/ and will save the log at /home/myproject/logs/backup_postgresql_db.logsimilar to this:

=== Creating DB Backup ===
Fri Jan 17 02:40:55 CET 2020
- Dump database
- Create a *.gz archive
- Create a symlink latest.backup.gz
------------------------------------------
The operation took 0 minutes and 1 seconds.

If the operation is successful, the script will return exit code 0; otherwise, the exit code will be the number of errors while executing the script. And the log file will show the error messages.

In the db_backups directory, there will be one compressed SQL backup file with the day of the week, such as 0-Sunday.backup.gz, 1-Monday.backup.gz, and so on, and another file, a symbolic link actually, called latest.backup.gz. The weekday-based backup allows you to have recent backups of the last 7 days when set properly under cron jobs, and the symbolic link allows you to quickly or automatically transfer the latest backup to another computer via SSH.

Note that we take the database credentials from the Django settings and then use them in the bash script.

When we run the restore_postgresql_db.sh script, we get output like this:

=== Restoring DB from a Backup ===
- Recreate the database
pg_terminate_backend
----------------------
(0 rows)

- Fill the database with schema and data
SET
SET
SET
SET
SET
set_config
------------

(1 row)

SET



ALTER TABLE
ALTER TABLE
ALTER TABLE
------------------------------------------
The operation took 0 minutes and 2 seconds.
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.16.54.63