การเขียน Script Backup postgresql

1. รันคำสั่ง su - postgres (เพื่อเข้าใช้งาน user : postgres)

2. รันคำสั่ง psql (เพื่อเข้าตรวจสอบ database)

3. รันคำสั่ง \l (เพื่อเข้าดูรายชื่อ database)

blobid0.png

4. ดำเนินการเชียนไฟล์ script : backupOdoo.sh ที่ path : /var/lib/postgresql

#!/bin/bash
####################################
# Backup to NFS mount script.
####################################

# Create Folder date.
mkdir /var/lib/postgresql/9.6/main/backup_Odoo/$(date +%d-%m-%Y_%H00);

# Dump database time.
pg_dump -d Database name -f /path ที่ต้องการเก็บไฟล์ Database/ชื่อไฟล์ Database.pgsql;

#Remove database 7 day
find /var/lib/postgresql/9.6/main/backup_Odoo/ -type f -mtime +7 -exec rm -f {} \;

 

4. เขียนไฟล์ cronjob : postgres ที่ path : /var/spool/cron/crontabs (เพื่อรันไฟล์ Script ตามที่กำหนดไว้)

# DO NOT EDIT THIS FILE - edit the master and reinstall.
# (/tmp/crontab.9OXrVx/crontab installed on Fri Jul 10 17:14:55 2020)
# (Cron version -- $Id: crontab.c,v 2.13 1994/01/17 03:20:37 vixie Exp $)
# Edit this file to introduce tasks to be run by cron.
#
# Each task to run has to be defined through a single line
# indicating with different fields when the task will be run
# and what command to run for the task
#
# To define the time you can provide concrete values for
# minute (m), hour (h), day of month (dom), month (mon),
# and day of week (dow) or use '*' in these fields (for 'any').#
# Notice that tasks will be started based on the cron's system
# daemon's notion of time and timezones.
#
# Output of the crontab jobs (including errors) is sent through
# email to the user the crontab file belongs to (unless redirected).
#
# For example, you can run a backup of all your user accounts
#
# For more information see the manual pages of crontab(5) and cron(8)
#
# m h dom mon dow command

* * * * * /bin/sh /var/lib/postgresql/backupOdoo.sh