簡單透過 crontab 用 command line 把 mysql db dump 備份出來
並上傳至 s3 後以 slack 通知~
#! /bin/bash
echo "--- start mysql backup ---"
date=$(date +"%Y%m%d")
db_names=( wordpress my_db my_db2 my_db_test )
db_password="your-db-password"
for i in "${db_names[@]}"
do
db_file="${i}-db-backup"
sql_file="${db_file}.sql"
tar_file="${db_file}_${my_date}.tar.bz2"
mysqldump -u backup --password="${db_password}" --databases ${i} > "${sql_file}"
tar -jpcf ${tar_file} ${sql_file}
s3cmd put "${db_file}_${my_date}.tar.bz2" s3://my-s3-db-backup-bucket/
rm -f ${tar_file} ${sql_file}
echo "[finish for ${db_file}]"
done
curl -X POST -H 'Content-type: application/json' --data '{"text": "backup completed"}' https://hooks.slack.com/services/xxxxxxx/xxxxxxxxx```