I tried many scripts for database backup but I couldn't make it. I want to backup my database every hour.
I added files to "/etc/cron.hourly/" folder, changed its chmod to 755, but it didn't run.
At least I write my pseudo code.
I would be happy if you can write a script for this operation and tell me what should I do more ?
After adding this script file to /etc/cron.hourly/
folder.
- Get current date and create a variable,
date=date(d_m_y_H_M_S)
- Create a variable for the file name,
filename="$date".gz
- Get the dump of my database like this
mysqldump --user=my_user --password=my_pass --default-character-set=utf8 my_database | gzip > "/var/www/vhosts/system/example.com/httpdocs/backups/$("filename")
- Delete all files in the folder
/var/www/vhosts/system/example.com/httpdocs/backups/
that are older than 8 days - To the file
"/var/www/vhosts/system/example.com/httpdocs/backup_log.txt"
, this text will be written:Backup is created at $("date")
- Change the file owners (chown) from root to "my_user". Because I want to open the backup and log files from the "my_user" FTP account.
- I don't want an email after each cron.
>/dev/null 2>&1
will be added.