Tạo file Backup
Tạo thư mục backups trong /var và set full quyền 777
mkdir /var/backups/
Tạo 1 file backup.sh trong /root với nội dung như sau và set có quyền thực thi 755:
#!/bin/bash { printf "subject:Backup for VPS\nfrom:[email protected]\n\n" mkdir /var/backups/$(date +"%Y-%m-%d")/ mkdir /var/backups/$(date +"%Y-%m-%d")/websitecuaban.com/ echo "Starting backup database for websitecuaban.com..." mysqldump --single-transaction --routines --triggers --add-drop-table --extended-insert -u username -h 127.0.0.1 -p'matkhau' database | gzip -9 > /var/backups/$(date +"%Y-%m-%d")/websitecuaban.com/db_$(date +"%Y-%m-%d").sql.gz echo "Starting backup files for websitecuaban.com..." zip -r /var/backups/$(date +"%Y-%m-%d")/websitecuaban.com/file_$(date +"%Y-%m-%d").zip /var/www/websitecuaban.com/public_html/ -q -x /var/www/websitecuaban.com/public_html/wp-content/cache/**\* } | /usr/sbin/sendmail "[email protected]"
Thay đổi các phần màu xanh ứng với website của bạn.
Bây giờ bạn có thể chạy để kiểm tra file backup có hoạt động hay không bằng lệnh:
/root/backup.sh
Tạo crontab để tự động chạy file backup.sh
Cấu trúc của Crontab
.---------------- minute (0 - 59) | .------------- hour (0 - 23) | | .---------- day of month (1 - 31) | | | .------- month (1 - 12) OR jan,feb,mar,apr ... | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat | | | | | * * * * * <command to be executed>
Ví dụ để tự động chạy backup vào 2h30 sáng bạn gõ
crontab -e
nhập
30 2 * * * /root/backup.sh
Lưu lại bằng:
Ctrl + X --> Y --> Enter
Chạy crontab
service crond start
Khởi động lại
service crond restart
Chạy khi hệ thống khởi động
chkconfig crond on
Xong!