Я знаю, что есть cronjob, доступный для резервного хранилища данных Google, но есть ли какие-либо простые способы создания cronjob для ежедневного резервного копирования Google Cloud Storage в другое хранилище Cloud Storage?
Я знаю, что могу использовать что-то вроде этого:
gsutil cp -D -R gs://<bucket>/* gs://<backup>/folder
Или я готов кое-что о Object Versioning, но не уверен, что это относится к тому, что я пытаюсь сделать.
Но я хотел бы сделать это в cronjob, используя php appengine, а не в вычислительном движке.
Я знаю, что могу создавать такие объекты: (но есть ли способ легко переносить и копировать данные?)
$document_data = "123456789";
$object_url = "gs://<bucket>/file.ext";
$options = stream_context_create(['gs'=>['acl'=>'private']]);
$my_file = fopen($object_url, 'w', false, $options);
fwrite($my_file, $document_data);
fclose($my_file);
Не существует эквивалентного автоматизированного инструмента GCS, такого как инструмент резервного копирования/восстановления хранилища данных. Cronjob, запущенный на экземпляре GCE, как вы определили, является самым простым способом для выполнения такой задачи.
Версии объектов могут соответствовать вашим потребностям в зависимости от того, почему вы хотите создать резервную копию. Управление версиями объектов работает, сохраняя несколько копий объекта таким образом, что каждый раз, когда вы перезаписываете или удаляете объект, его предыдущее состояние остается в виде объекта с тем же именем, но с другим номером "поколения". Вы также можете настроить облачное хранилище Google для периодического удаления поколений старше определенного времени или с определенным количеством уже существующих поколений.
Это может быть хорошо, если ваше большое беспокойство случайно переписывает важные данные. Или это может быть не очень хорошо, если вы беспокоитесь о случайном удалении всех объектов в вашем ковше, включая старые поколения объектов. Или это может быть не очень хорошо, если вам нужна возможность сбросить ведро в состояние определенного дня.
Если для вас не работает управление версиями объектов, и вы не хотите настраивать cronjob, запущенный gsutil, и вы хотите использовать движок приложения, тогда да, вам придется написать программу, которая выполняет итерацию по всем объектам в вашем ковше и копирует их в другое ведро.
gsutil rsync
?