#!/bin/sh
service apache2 stop
mysqldump -u <mysql_user> -p<mysql_pass> <mysql_dbname> | gzip -9 > mysqlbackup-`date +%Y%m%d`.sql.gz
chown ubuntu:ubuntu mysqlbackup-`date +%Y%m%d`.sql.gz
s3cmd put mysqlbackup-`date +%Y%m%d`.sql.gz s3://<s3_bucket_name>/`date +%Y%m`/
tar -zcvf wordpress-`date +%Y%m%d`.tar.gz /var/www
chown ubuntu:ubuntu wordpress-`date +%Y%m%d`.tar.gz
s3cmd put wordpress-`date +%Y%m%d`.tar.gz s3://<s3_bucket_name>/`date +%Y%m`/
tar -zcvf apache2config-`date +%Y%m%d`.tar.gz /etc/apache2
chown ubuntu:ubuntu apache2config-`date +%Y%m%d`.tar.gz
s3cmd put apache2config-`date +%Y%m%d`.tar.gz s3://<s3_bucket_name>/`date +%Y%m`/
service apache2 start
Hasil backup juga menyimpan Private Key dari Apache HTTPS. Oleh karena itu disarankan untuk melakukan enkripsi menggunakan GPG. Script di bawah ini adalah modifikasi script di atas dengan menambahkan enkripsi GPG
1: #!/bin/sh
2:
3: service apache2 stop
4:
5: mysqldump -u <mysql_user> -p<mysql_pass> <mysql_dbname> | gzip -9 > mysqlbackup-`date +%Y%m%d`.sql.gz
6: gzip -9 > mysqlbackup-`date +%Y%m%d`.sql.gz
7: chown ubuntu:ubuntu mysqlbackup-`date +%Y%m%d`.sql.gz
8: gpg --output mysqlbackup-`date +%Y%m%d`.sql.gz.gpg --encrypt --recipient <gpg_keyname> mysqlbackup-`date +%Y%m%d`.sql.gz
9: s3cmd put mysqlbackup-`date +%Y%m%d`.sql.gz.gpg s3://<s3_bucket_name>/`date +%Y%m`/
10:
11: tar -zcvf wordpress-`date +%Y%m%d`.tar.gz /var/www
12: chown ubuntu:ubuntu wordpress-`date +%Y%m%d`.tar.gz
13: gpg --output wordpress-`date +%Y%m%d`.tar.gz.gpg --encrypt --recipient <gpg_keyname> wordpress-`date +%Y%m%d`.tar.gz
14: s3cmd put wordpress-`date +%Y%m%d`.tar.gz.gpg s3://<s3_bucket_name>/`date +%Y%m`/
15:
16: tar -zcvf apache2config-`date +%Y%m%d`.tar.gz /etc/apache2
17: chown ubuntu:ubuntu apache2config-`date +%Y%m%d`.tar.gz
18: gpg --output apache2config-`date +%Y%m%d`.tar.gz.gpg --encrypt --recipient <gpg_keyname> apache2config`date +%Y%m%d`.tar.gz
19: s3cmd put apache2config-`date +%Y%m%d`.tar.gz.gpg s3://<s3_bucket_name>/`date +%Y%m`/
20:
21: service apache2 start
22: