Linux shell script for MYsql database backup

First create a script file and give this file executable permission.

# cd /etc/cron.daily/  # touch /etc/cron.daily/dbbackup-daily.sh  # chmod 755 /etc/cron.daily/dbbackup-daily.sh  # vi /etc/cron.daily/dbbackup-daily.sh

Then copy following lines into file with Shift+Ins

#!/bin/sh  now="$(date +'%d_%m_%Y_%H_%M_%S')"  filename="db_backup_$now".gz  backupfolder="/var/www/vhosts/example.com/httpdocs/backups"  fullpathbackupfile="$backupfolder/$filename"  logfile="$backupfolder/"backup_log_"$(date +'%Y_%m')".txt  echo "mysqldump started at $(date +'%d-%m-%Y %H:%M:%S')" >> "$logfile"  mysqldump --user=mydbuser--password=mypass --default-character-set=utf8 mydatabase | gzip > "$fullpathbackupfile"  echo "mysqldump finished at $(date +'%d-%m-%Y %H:%M:%S')" >> "$logfile"  chown myuser "$fullpathbackupfile"  chown myuser "$logfile"  echo "file permission changed" >> "$logfile"  find "$backupfolder" -name db_backup_* -mtime +8 -exec rm {} \;  echo "old files deleted" >> "$logfile"  echo "operation finished at $(date +'%d-%m-%Y %H:%M:%S')" >> "$logfile"  echo "*****************" >> "$logfile"  exit 0

Popular posts from this blog

Shrink you container size up to 95%.

alma linux: dnf Module yaml error: Unexpected key in data