{"id":18450558,"url":"https://github.com/rhrn/object-storage-sync","last_synced_at":"2025-04-22T10:20:02.506Z","repository":{"id":136846634,"uuid":"102582642","full_name":"rhrn/object-storage-sync","owner":"rhrn","description":"Synchronize files between object storages","archived":false,"fork":false,"pushed_at":"2017-09-06T09:20:16.000Z","size":18,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-16T14:01:39.183Z","etag":null,"topics":["objectstorage","storage","sync"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rhrn.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2017-09-06T08:20:43.000Z","updated_at":"2017-09-29T14:07:39.000Z","dependencies_parsed_at":null,"dependency_job_id":"871f3ce8-32a7-4525-af22-f098c1506bc7","html_url":"https://github.com/rhrn/object-storage-sync","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rhrn%2Fobject-storage-sync","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rhrn%2Fobject-storage-sync/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rhrn%2Fobject-storage-sync/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rhrn%2Fobject-storage-sync/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rhrn","download_url":"https://codeload.github.com/rhrn/object-storage-sync/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249319201,"owners_count":21250496,"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":["objectstorage","storage","sync"],"created_at":"2024-11-06T07:25:39.505Z","updated_at":"2025-04-17T05:57:26.816Z","avatar_url":"https://github.com/rhrn.png","language":"JavaScript","readme":"# object-storage-sync\n\n* Sync files between object storages (based on [pkgcloud](https://github.com/pkgcloud/pkgcloud))\n\n## Install\n\n```\nnpm install -g object-storage-sync\n```\n\n## Usage\n\n* Create `source.json` and `target.json` with credentials\n\n  - Examples: https://github.com/pkgcloud/pkgcloud#storage\n\n  * amazon\n  ```\n    {\n      \"provider\": \"amazon\",\n      \"keyId\": \"your-access-key-id\",\n      \"key\": \"your-secret-key-id\",\n      \"region\": \"us-west-2\"\n    }\n  ```\n\n  * azure\n  ```\n    {\n      \"provider\": \"azure\",\n      \"storageAccount\": \"test-storage-account\",\n      \"storageAccessKey\": \"test-storage-access-key\"\n    }\n  ```\n\n  * google\n  ```\n    {\n      \"provider\": \"google\",\n      \"keyFilename\": \"/path/to/a/keyfile.json\",\n      \"projectId\": \"eco-channel-658\"\n    }\n  ```\n\n  * hp\n  ```\n    {\n      \"provider\": \"hp\",\n      \"username\": \"your-user-name\",\n      \"apiKey\": \"your-api-key\",\n      \"region\": \"region of identity service\",\n      \"authUrl\": \"https://your-identity-service\"\n    }\n  ```\n\n  * openstack\n  ```\n    {\n      \"provider\": \"openstack\",\n      \"username\": \"your-user-name\",\n      \"password\": \"your-password\",\n      \"authUrl\": \"your identity service url\"\n    }\n  ```\n\n  * rackspace\n  ```\n    {\n      \"provider\": \"rackspace\",\n      \"username\": \"your-user-name\",\n      \"apiKey\": \"your-api-key\",\n      \"region\": \"IAD\",\n      \"useInternal\": false\n    }\n  ```\n\n* Sync by filename (ordered by path)\n\n  * init sync\n  ```\n  object-storage-sync sync-name my-container --to my-special-container\n  ```\n\n  * start sync from certain fileaname or path\n  ```\n  object-storage-sync sync-name my-container --to my-special-container --marker dir/filename.jpg\n  ```\n\n  * show help\n  ```\n  object-storage-sync sync-name --help\n  ```\n\n* Sync by last modified\n\n  * init sync\n  ```\n  object-storage-sync sync-date my-container --to my-special-container\n  ```\n\n  * start from certain date\n  ```\n  object-storage-sync sync-date my-container --to my-special-container --since 2017-01-01\n  ```\n\n  * show help\n  ```\n  object-storage-sync sync-date --help\n  ```\n\n## Help\n\n```\nobject-storage-sync --help\n```\n\n```\nCommands:\n\nhelp [command...]                Provides help for a given command.\ncredentials                      Show credentials\ncontainers                       Show containers list\nsync-date [options] [container]  Syncronize container by date\nsync-name [options] [container]  Syncronize container by file name\nclear-date-marker [container]    Clear date marker\nclear-name-marker [container]    Clear name marker\n```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frhrn%2Fobject-storage-sync","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frhrn%2Fobject-storage-sync","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frhrn%2Fobject-storage-sync/lists"}