Laravelタスク実戦データベースバックアップのスケジュール
2520 ワード
私たちは1分に1回データベースをバックアップします.始めましょう.
コマンドファイルの作成
コマンドファイルの作成 php artisan make:comman BackupDatabase
作成したファイルを開き、次のように変更します.process = new Process(sprintf('mysqldump -u%s --password=%s %s > %s',
config('database.connections.mysql.username'),
config('database.connections.mysql.password'),
config('database.connections.mysql.database'),
storage_path('backups/' . $file_name)
));
}
/**
* Execute the console command.
*
* @return mixed
*/
public function handle()
{
try {
$this->process->mustRun();
$this->info('The backup has been proceed successfully.');
} catch (ProcessFailedException $exception) {
$this->error($exception);
}
}
}
設定コマンド
storageにbackupsフォルダを作成し、app/Clonsole/Kernelを開きます.phpは一部の内容を修正し、以下のようにする.protected $commands = [
Commands\BackupDatabase::class,
];
protected function schedule(Schedule $schedule)
{
$schedule->command('db:backup')
->everyMinute();
}
サーバ構成
サーバ実行crontab -e
初めてcrontabを開いた場合はエディタを選択させますが、ここ(vimを選択)でいいです.私が選んだ3番目です.しかし、もしあなたが間違って選択したら、少し面倒になるかもしれません.正常に編集できません.crontab-e.どうしよう?このコマンドを実行します:select-editor(crontabのコマンド)は、もう一度選択することができます.次のようにコピー* * * * * php /home/vagrant/code/laravel/artisan schedule:run >> /dev/null 2>&1
/home/vagrant/code/laravel/はプロジェクトのディレクトリです.1分後にstorage/backupsフォルダにバックアップを生成するsqlファイルがあるかどうかを確認できます.
php artisan make:comman BackupDatabase
process = new Process(sprintf('mysqldump -u%s --password=%s %s > %s',
config('database.connections.mysql.username'),
config('database.connections.mysql.password'),
config('database.connections.mysql.database'),
storage_path('backups/' . $file_name)
));
}
/**
* Execute the console command.
*
* @return mixed
*/
public function handle()
{
try {
$this->process->mustRun();
$this->info('The backup has been proceed successfully.');
} catch (ProcessFailedException $exception) {
$this->error($exception);
}
}
}
storageにbackupsフォルダを作成し、app/Clonsole/Kernelを開きます.phpは一部の内容を修正し、以下のようにする.
protected $commands = [
Commands\BackupDatabase::class,
];
protected function schedule(Schedule $schedule)
{
$schedule->command('db:backup')
->everyMinute();
}
サーバ構成
サーバ実行crontab -e
初めてcrontabを開いた場合はエディタを選択させますが、ここ(vimを選択)でいいです.私が選んだ3番目です.しかし、もしあなたが間違って選択したら、少し面倒になるかもしれません.正常に編集できません.crontab-e.どうしよう?このコマンドを実行します:select-editor(crontabのコマンド)は、もう一度選択することができます.次のようにコピー* * * * * php /home/vagrant/code/laravel/artisan schedule:run >> /dev/null 2>&1
/home/vagrant/code/laravel/はプロジェクトのディレクトリです.1分後にstorage/backupsフォルダにバックアップを生成するsqlファイルがあるかどうかを確認できます.
crontab -e
* * * * * php /home/vagrant/code/laravel/artisan schedule:run >> /dev/null 2>&1