2021/12/15

Laravelでバックアップ処理を実装する

目次
  1. Laravel-backupをインストール
  2. 設定ファイル作成
  3. バックアップの保存先の指定
  4. バックアップ実行
  5. 古いバックアップファイルの削除
  6. 定期的にバックアップを実行する

LaravelでソースコードやDBのバックアップを取りたい場合は

Laravel-backupを利用するのが便利なので実装方法を記載していきます。

Laravel-backupをインストール

$ composer require spatie/laravel-backup

設定ファイル作成

$ php artisan vendor:publish --provider="Spatie\Backup\BackupServiceProvider

実行すると「/config/backup.php」という設定ファイルが作成されます。

バックアップの保存先の指定

デフォルトではバックアップはローカルに保存されるようになっています。

今回はこれをS3に変えてみます。

'destination' => [
             (省略)
            /*
             * The disk names on which the backups will be stored.
             */
            'disks' => [
                 // local
                's3', 
            ],
        ],

バックアップ実行

$ php artisan backup:run

上記コマンドの実行でソースコードとDBをS3にzip形式で保存してくれます。

ちなみに以下のコマンドだとDBのみのバックアップを取ることも可能です。

$ php artisan backup:run --only-db

古いバックアップファイルの削除

バックアップを取り続けているとストレージの容量を圧迫してしますので古いファイルから削除していきたいです。

Laravel-backupではその機能も用意されており、以下のコマンドを実行すれば古いファイルを削除してくれます。

$ php artisan backup:clean

定期的にバックアップを実行する

/app/Console/Kernel.phpに毎日実行するように登録します。

$schedule->command('backup:clean')->daily();
$schedule->command('backup:run')->daily();

これで毎日バックアップをとるようになりました!

いざという時に困らないようバックアップは常に取得しておきましょう!

関連記事


icon-loading

「Attention Is All You Need」とは?Transformerが変えたAIの読み方を解説

論文「Attention Is All You Need」が提案したTransformerは、AIの文章理解と生成を根本から変えた。本記事では、その仕組みと前後比較をビジネス視点で解説し、なぜ今この技術を知ることが戦略的メリットになるのかを明らかにする。

icon-loading

再帰的自己改善するAIがコードを書く時代へ — AGIへの道筋を解説

AIが自らコードを改善し続ける「自己改善型エージェント」が登場。OpenAIのサム・アルトマンがAGIの近道と語るこの技術が、開発業界と人類の未来をどう変えるのかを探る。

icon-loading

AIでフロントエンド開発を加速する:Claudeを活用してHTML・CSS・Tailwind CSSをより速く作る方法

AIを活用してフロントエンド開発を効率化する実践的な方法を紹介。HTML・CSS・Tailwind CSSの繰り返し作業を減らし、開発スピードを大きく向上させる現場ベースのワークフローを解説します。

icon-loading

AIがある前提の教育をちゃんと考えてみる

AIの学習モードが普及すると、知識を「教える」役割は急速にAIへ移る。教師の仕事を分解し、小中高大で「教育」と「預かり」の比率がどう変わるかを整理したうえで、大学は実験インフラと能力認定へ収束する未来を描く。さらに、教育予算を三分の一以下に圧縮しつつ、個別最適化で水準を引き上げられるというAI前提の国家教育改革を提案する。

icon-loading

AIでDjangoのユニットテストを攻略:無理なく運用できるワークフロー構築までの物語

AIを「テストを書く相棒」として活用し、Djangoのユニットテストを無理なく運用できるワークフローを実体験ベースで解説。失敗から学んだプロンプト設計と、現場で本当に使えるAI活用法を紹介します。

icon-loading

人型ロボットである必要は本当にあるのか

AI人型ロボットは本当に必要なのか。非効率とされる人型が選ばれる理由を、学習データ、重機や都市インフラ、社会設計の視点から解説。なぜ世界は人間向けなのかが見えてくる。