redashをバックアップして障害に備えるぜ!てなった時に、
Linux力が足らず検索しまくったので、
次やる時に、また調べることになるのも嫌なのでメモしておく。
手順
1.Redash を Backup & Restore するを参考にshファイル(backup.sh)を作成する
2. EC2インスタンスにS3へのアクセスのためにIAMロールをタッチする
3. cron登録用のファイル(redashcron)を作成する。
4. crontab redashcron
でジョブを登録する
* 登録済みcronを確認する。crontab -l
backup.sh
#!/bin/sh
cd /usr/local/redash_backup
sudo -u redash /usr/bin/pg_dump redash | /bin/gzip > /usr/local/redash_backup/redash_backup_$(date +%Y%m%d_%H%M%S).gz
backup="$(ls -1t | grep redash_backup | head -n 1)"
S3_BUCKET_NAME='lenet-redash'
/usr/local/bin/aws s3 cp ${backup} s3://${S3_BUCKET_NAME}/
redashcron
0 5 * * * /usr/local/redash_backup/backup.sh >/dev/null 2>&1
cronがうまく動かないのでデバッグしたい
- ubuntu で cronのログが出ないので出るようにする
-
/etc/rsyslog.d/50-default.conf
で#cron.* /var/log/cron.log
の行のコメントアウトを解除 -
service rsyslog restart
でsyslogを再起動