Сценарий по расписанию забирает новые файлы из S3 и складывает их копии в S3. Резервная копия живёт сама.
Перенос данных из GitLab в S3 делается готовым сценарием: он сам замечает новое и переносит его.
Такой сценарий можно запустить в Scriptera: задача описывается обычными словами, сборка и запуск — на стороне сервиса.