Monday, October 11, 2021

Configure Source Code and Database Automatic Backup

====================================
Perform This Task Through Root User
====================================


sudo mkdir /var/www/source-code-weekly-incremental-backup
sudo mkdir /var/www/database-daily-incremental-backup/
sudo mkdir /var/www/mongodb-daily-incremental-backup/



sudo touch /home/ubuntu/.backup/sourcecode_backup_script.sh
sudo touch /home/ubuntu/.backup/database_backup_script.php
sudo touch /home/ubuntu/.backup/mongodb_backup_script.sh

===============================
Source-Code-Automatic-Backup
===============================


vim sourcecode_backup_script.sh


#!/bin/bash
TIME=`date '+Date_%d_%m_%y_Time_%H_%M_%S'`                                   # This Command will read the date.
FILENAME=backup-code-$TIME.tar.gz                                   # The filename including the date.
SRCDIR=/var/www/html                                                # Source backup folder.
DESDIR=/var/www/source-code-weekly-incremental-backup            # Destination of backup file.
tar -cpzf $DESDIR/$FILENAME $SRCDIR


===============================
Database-Automatic-Backup
===============================


vim database_backup_script.php


<?php
$return_var = NULL;
$output = NULL;
$command = "mysqldump -h 127.0.0.1 -u my_user -p'India@123' my_db | gzip > /var/www/database-daily-incremental-backup/database__`date '+Date_%d_%m_%y_Time_%H_%M_%S'`.sql.gz";
exec($command, $output, $return_var);
?>


===============================
mongodb-Automatic-Backup
===============================


#!/bin/bash

DUMP='mongodump'
USER='--username'
USERValue='mongo_user'
PASS='--password'
PASSValue='DZF87m6KVVffqwxT'
Database='--db'
DBValue='mongo_db'
$DUMP $USER $USERValue $PASS $PASSValue $Database $DBValue
TIME=`date '+Date_%d_%m_%y_Time_%H_%M_%S'`
FILENAME=mongodump-$TIME.tar.gz       
SRCDIR=/home/ubuntu/.backup/dump/
DESDIR=/var/www/mongodb-daily-incremental-backup/
tar -zcf $DESDIR/$FILENAME $SRCDIR

===============================
Cronjob
===============================



* * * * *  /home/ubuntu/.backup/code_backup.sh
* * * * * /usr/bin/php /home/ubuntu/.backup/database_bkp_script.php

0 0 * * 0 /usr/bin/find /var/www/database-daily-incremental-backup/ -name "*.gz" -type f -mtime +10 -exec rm -f {} \;
0 0 * * 0 /usr/bin/find /var/www/source-code-weekly-incremental-backup/ -name "*.gz" -type f -mtime +10 -exec rm -f {} \;

 

$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

 

1) This script will create a zip file of source code and db when there is a change in the code  only and then upload it to S3 bucket.

Link : https://drive.google.com/file/d/1KTezm4TMWLAQUrWqlQKde-U9pRY98Hvn/view?usp=sharing

 

 

 

No comments:

Post a Comment

testing