Got feedback or spotted a mistake?

Leave a comment at the end of this page or email contact@krishagni.com

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 11 Next »

Linux

MySQL

To set up a cron job for daily database backup follow the steps mentioned below

  1. Create a backup.sh file using command - vi backup.sh
  2. On the vim, editor screen enter the command for database backup and to delete files older than 30 days

    mysqldump -u<user> -p<password> --single-transaction --skip-lock-tables --routines database name | gzip > /backup directory path/OPENSPECIMEN_`date +\%d-\%m-\%Y`.SQL.gz
    
    find /backup directory path/ -mtime +30 -exec rm {} \;


  3. Create a cron job with the command:  crontab -e

  4. This will open a crontab (cron configuration file) and the format of the job should be as follows.

    minute hour day-of-month month day-of-week <path to the backup.sh file>

    This is an example file to take database backup nightly every day at 11:59

    59 23 * * * /home/backup.sh

Windows

MySQL

Need to create the task scheduler to run the backup script i.e bat file.

It will take the backup of database daily and also delete files older than 30 days


database-backup.bat

@echo off

echo Exporting OpenSpecimen database dump...

set backupFilename=OPENSPECIMEN_%DATE:~7,2%-%DATE:~4,2%-%DATE:~10,4%.SQL

mysqldump -uroot -py4txhySc --routines --result-file="path of database backup directory\%backupFilename%" <name of the databse>

set backupfldr=path of database backup directory

set retaindays=30

Forfiles -p %backupfldr% -s -m *.SQL -d -%retaindays% -c "cmd /c del /q @path"

echo Done!



  • No labels