cronでデータベースのバックアップをAWSのS3に保存
データベースのバックアップファイルをAWSのS3に保存するプログラムを手動で叩くと問題なくS3にファイルが保存されるのに、cronで定期的に実行したらエラーが出るようになったので調べた内容です。原因はPythonのパスが […]
Filter by Category
データベースのバックアップファイルをAWSのS3に保存するプログラムを手動で叩くと問題なくS3にファイルが保存されるのに、cronで定期的に実行したらエラーが出るようになったので調べた内容です。原因はPythonのパスが […]
テンプレート用の既存PDFの上から文字を上書きしてダウンロードする方法です。 attachmentをつけるとリンクを押したら即ダウンロードが始まります。
DjangoのFormに初期値を設定する Djangoで生成したFormをhiddenにしたまま、あらかじめ設定しておいた初期値が入ったvalueをPOSTする方法です。 forms.pyでinitial=’ […]
データベースのバックアップファイルをAWSのS3に保存するプログラムを手動で叩くと問題なくS3にファイルが保存されるのに、cronで定期的に実行したらエラーが出るようになったので調べた内容です。原因はPythonのパスが通ってなかったこととawsコマンドが見つからなかったことでした。
aws XXXXと記述していたのですが、aws: command not foundとなってしまいawsコマンドがエラーになっていました。
これは仮想環境上でpip install awscliしたので、awsコマンドを使用する為にawsのディレクトリを指定する必要がありました。
最終的なコードがコチラ
backup.sh
# pyenv-virtualenvで仮想環境が設定してあるディレクトリへ移動
cd /var/www/html
# バックアップファイルをS3にコピー
/home/mac/.pyenv/shims/aws s3 cp /var/dbbackup/backup.sql s3://XXXXXX/ 2>> /var/dbbackup/log.txt
/home/mac/.pyenv/shims/awsの部分はwhich awsで表示されたパスを入力します。
/var/dbbackup/backup.sqlの部分でバックアップするファイルを指定します。
s3://XXXXXX/はS3のバケット名を入力します。
2>> /var/dbbackup/log.txtはコマンドのエラーをファイルに追記します。
上記のbackup.shをcronに設定して定期実行します。
群馬県でPythonを使ったAIやソフトウェアを開発している株式会社ファントムが運営しています。
メーリングリストに登録するとファントムの最新情報をお届けします
お客様のメールアドレスを共有することはありません
Comments