public static function setDataLog($type, $return = '') { $logs = new ScheduleLog(); $logs->type = $type; $logs->return = $return; $logs->save(); }
private function purgerBucket($s3_name) { $disk = Storage::disk($s3_name); $day_backup = (int) Config::get("app.aws.backup_date"); $time = time(); $obj_delete = []; $return = ''; $command = $disk->getDriver()->getAdapter()->getClient()->listObjects(['Bucket' => Config::get("filesystems.disks.{$s3_name}.bucket"), 'Prefix' => '']); foreach ($command as $key => $object) { if ($key === 'Contents') { foreach ($object as $k => $file) { $last_modify = strtotime($file['LastModified']) + $day_backup * 24 * 60 * 60; if ($last_modify < $time && $file['Size']) { $obj_delete[]['Key'] = $file['Key']; $return[] = $file['Key']; } } } } if (!empty($obj_delete)) { $disk->getDriver()->getAdapter()->getClient()->deleteObjects(['Bucket' => Config::get("filesystems.disks.{$s3_name}.bucket"), 'Delete' => ['Objects' => $obj_delete, 'Quiet' => true]]); } $type = "Purger for AWS S3 Buckets '{$s3_name}' complited."; if (!empty($return)) { $return = 'Files deleted: ' . implode(', ', $return); } ScheduleLog::setDataLog($type, $return); }
/** * Execute the console command. * * @return mixed */ public function handle(Schedule $schedule) { $s3_first = Config::get("app.aws.s3_bucket_sync_first"); $s3_second = Config::get("app.aws.s3_bucket_sync_second"); $s3_sync = Config::get("app.aws.s3_sync_profile"); $schedule->exec("aws s3 sync s3://{$s3_first} s3://{$s3_second} --delete --profile {$s3_sync}"); $type = "AWS S3 SYNC completed."; ScheduleLog::setDataLog($type); }
public function getIndex() { $data = ScheduleLog::getLogs(15); return view('logs.schedule_log', ['data' => $data]); }