BBahmni 한국어 매뉴얼검색
한국어 번역 완료
한국어English

Automated DB backups of Bahmni

DB Backup using bahmni command line tool (available from v0.81 onwards)

'bahmni' command line tool will be available in the machine where we install the 'bahmni-installer' rpm -관련 문서: Install Bahmni on CentOS

To take db-backup, following command has to be executed:

If custom inventory file is setup, following command has to be executed:

bahmni -i <inventory_file_name> db-backup

The command will take the backup of each database into a seperate file in the machine where the databases are present at file location /db-backup as below:

Screen Shot 2016-05-25 at 3.55.00 pm.png

Optionally, it would also allow you to copy the backup to the machine from where the command is executed by shooting the following question:

This would be useful in multi-machine setup where databases are present at different location. When all databases are present in the same machine from which command is executed, 'N' can be given as the answer to the above question.

DB Restore using bahmni command line tool (available from v0.81 onwards)

To restore the database, `db-restore` command from bahmni command line tool can be used. The command can restore only one database at a time and it will drop the database if already present and then restore the specified dump file.

bahmni -db <database_name> -path <zipped_sql_file_path> db-restore
 
# If custom inventory file is present
bahmni -i <inventory_file_name> -db <database_name> -path <zipped_sql_file_path> db-restore


#Examples:
bahmni -i jss -db openmrs -path /db-backup/openmrs_dump_20160525-155357.sql.gz db-restore
bahmni -i jss -db clinlims path /db-backup/clinlims_dump_20160525-155359.sql.gz db-restore

Automated db-backup

Download the backup script

Create a crontab

If you want to setup an automated schedule to backup, then you can create a crontab entry to trigger this command periodically. For example:

Auto-schedule backups of DB
# Edit the crontab file of root user
crontab -u root -e 
 
# Make entry as (for running twice a day at 2PM, and 10PM)
00 14,22 * * * sudo {path_to_save_script}/backup.sh 

00 14,22 * * * sudo {path_to_save_script}/backup.sh 
 
# eg. 00 14,22 * * * sudo {path_to_save_script}/backup.sh 
# eg. 00 14,22 * * * sudo {path_to_save_script}/backup.sh
Auto delete of old files
# Add this entry in crontab to delete files older than 15 days from /db-backup folder (every evening at 6 PM)
00 18 * * * /usr/bin/find /db-backup -type f -mtime +15 -exec /bin/rm -f {} \;

For more examples on crontab entries read this: crontab

원문 정보

Bahmni Wiki · CC BY-SA 4.0

원문 보기 ↗