Я пишу код в Laravel 5 для периодической резервной копии базы данных MySQL. Мой код до сих пор выглядит следующим образом:Laravel 5: Как скопировать локальный файл на Amazon S3?
$filename = 'database_backup_'.date('G_a_m_d_y').'.sql';
$destination = storage_path() . '/backups/';
$database = \Config::get('database.connections.mysql.database');
$username = \Config::get('database.connections.mysql.username');
$password = \Config::get('database.connections.mysql.password');
$sql = "mysqldump $database --password=$password --user=$username --single-transaction >$destination" . $filename;
$result = exec($sql, $output); // TODO: check $result
// Copy database dump to S3
$disk = \Storage::disk('s3');
// ????????????????????????????????
// What goes here?
// ????????????????????????????????
Я видел в Интернете, что Solutions предложить мне делать что-то вроде:
$disk->put('my/bucket/' . $filename, file_get_contents($destination . $filename));
Однако для больших файлов, не так расточительно использовать file_get_contents()? Есть ли лучшие решения?
Это большой вопрос, и моя цель сейчас тоже. Теперь я рассмотрю https://tuts.codingo.me/laravel-backup-amazon-s3 (который выглядит многообещающим), а также предложение ниже от пользователя @ user4603841. – Ryan