{"id":15753525,"url":"https://github.com/idrinth/duplication","last_synced_at":"2025-06-17T20:34:46.672Z","repository":{"id":91149663,"uuid":"607541609","full_name":"Idrinth/duplication","owner":"Idrinth","description":"A backup of backups solution for among other things s3 storages","archived":false,"fork":false,"pushed_at":"2025-02-02T01:23:55.000Z","size":128,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-06-09T00:37:41.350Z","etag":null,"topics":["backup","backup-script","duplicate-files","s3","s3-storage","sftp"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Idrinth.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-02-28T07:15:00.000Z","updated_at":"2025-02-02T01:23:58.000Z","dependencies_parsed_at":"2025-04-30T15:11:42.509Z","dependency_job_id":"2bce128b-e7fb-45ad-8d89-e89b657e490d","html_url":"https://github.com/Idrinth/duplication","commit_stats":null,"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"purl":"pkg:github/Idrinth/duplication","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Idrinth%2Fduplication","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Idrinth%2Fduplication/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Idrinth%2Fduplication/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Idrinth%2Fduplication/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Idrinth","download_url":"https://codeload.github.com/Idrinth/duplication/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Idrinth%2Fduplication/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260438629,"owners_count":23009262,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["backup","backup-script","duplicate-files","s3","s3-storage","sftp"],"created_at":"2024-10-04T07:40:59.187Z","updated_at":"2025-06-17T20:34:41.656Z","avatar_url":"https://github.com/Idrinth.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Duplication\n\nThis small script creates backups of files existing in a specific location by copying them to to one or more other locations. Since this is meant to duplicate backups, changes to files are not checked for. All remote file reads are cached locally to minimize traffic while the script runs.\n\n## Installation\n\nClone this repository to a machine you own. Then use `composer install` to install the dependencies.\n\n## Configuration\n\nPlease copy the supplied config.example.yml to config.yml and adjust the values as required. We are using Contabo, this may or may not work with other storage providers.\n\n### Type SSH\n\nThis will use sftp to connect to a server. This can be used for upload and download.\n\n#### Read\n\n```yml\ntype: ssh\nuser: rotten\nssh-path: /backups\nhost: test-01.idrinth.de\npassword: abcdefghijklmnopqrstuvwxyz\nprivate-key: /private/key.pem\nport: 22\nencrypt-with-public-key: true\nminify: false\n```\n#### Write\n```yml\ntype: ssh\nbucket-path: /backups\nuser: rotten\nssh-path: /backups\nhost: test-01.idrinth.de\npassword: abcdefghijklmnopqrstuvwxyz\nprivate-key: /private/key.pem\nforce-date-prefix: false\nprefix: backups\nport: 22\n```\n\n### Type Local\n\nThis will back up from or on the local machine.\n\n#### Read\n\n```yml\ntype: local\npath: /backups\nencrypt-with-public-key: true\nminify: false\n```\n\n#### Write\n\n```yml\ntype: local\npath: /backups\nuser: backup\ngroup: backup\nprefix: mine\nforce-date-prefix: false\n```\n\n### Type Bucket\n\nThis uses an S3 bucket to read from or write to.\n\n#### Read\n\n```yml\ntype: bucket\nendpoint: buckets.idrinth.de/test-01\nbucket: test-01\naccess-key: abcdefghijklmnopqrstuvwxyz\nsecret-access-key: 1234567890\nencrypt-with-public-key: true\nminify: false\n```\n\n#### Write\n\n```yml\ntype: bucket\nendpoint: buckets.idrinth.de/test-01\nbucket: test-01\naccess-key: abcdefghijklmnopqrstuvwxyz\nsecret-access-key: 1234567890\nforce-date-prefix: false\n```\n\n## Support\n\nIf you need support, got an improvement idea or want to chat about the project, feel free to open an issue or join the [discord](https://discord.gg/xHSF8CGPTh).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fidrinth%2Fduplication","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fidrinth%2Fduplication","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fidrinth%2Fduplication/lists"}