Laravel/vueのちょっとした事の覚え書き。Laravel 8.xで作業した際の情報。
定期的にバックアップを行う方法。詳細は下記サイトに。要点だけピックアップ。
https://helog.jp/laravel/db-backup/
https://qiita.com/Takuma_Ikeda/items/1323e5a6bea51860ed57
パッケージをインストール
sudo apt-get install php-zip
composer require spatie/laravel-backup
php artisan vendor:publish –provider=”Spatie\Backup\BackupServiceProvider”
configディレクトリ以下にbackup.phpが生成される。backup.phpのnameを変更しておかないと日本語だと化ける。
'name' => 'backup', //env('APP_NAME', 'laravel-backup'),
バックアップファイルは storage/app/backup に生成、dbのリストアは
mysql -uusername -ppassword dbname < mysql-dbname.sql
laravelのタスクスケジューラーで定期dbバックアップ。日々全体、毎時DBのみの例。
/app/Console/Kernel.php
protected function schedule(Schedule $schedule)
{
$schedule->command('backup:run --disable-notifications')->daily();
$schedule->command('backup:run --disable-notifications --only-db')->hourly();
}
crontabも設定
crontab -e
* * * * * cd /home/sample/Laravel_app/subfolder && php artisan schedule:run >> /dev/null 2>&1