{"id":13344126,"url":"https://github.com/tolopsy/easy-backup","last_synced_at":"2025-03-12T06:31:14.860Z","repository":{"id":129166404,"uuid":"502674480","full_name":"tolopsy/easy-backup","owner":"tolopsy","description":"CLI tool to automate compression and archival of files into AWS S3 or a dedicated directory","archived":false,"fork":false,"pushed_at":"2023-07-24T15:55:48.000Z","size":26,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-10-24T16:50:57.841Z","etag":null,"topics":["aws","aws-s3","backup","file-management","go-channel","goroutine-pool","goroutines","mutex-synchronisation","waitgroup","worker-pool","zip"],"latest_commit_sha":null,"homepage":"","language":"Go","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/tolopsy.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":"2022-06-12T16:49:48.000Z","updated_at":"2023-09-23T16:07:33.000Z","dependencies_parsed_at":null,"dependency_job_id":"57cbced6-2c9c-440a-87a8-4af46460530b","html_url":"https://github.com/tolopsy/easy-backup","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tolopsy%2Feasy-backup","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tolopsy%2Feasy-backup/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tolopsy%2Feasy-backup/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tolopsy%2Feasy-backup/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tolopsy","download_url":"https://codeload.github.com/tolopsy/easy-backup/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243171644,"owners_count":20247878,"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":["aws","aws-s3","backup","file-management","go-channel","goroutine-pool","goroutines","mutex-synchronisation","waitgroup","worker-pool","zip"],"created_at":"2024-07-29T19:32:27.740Z","updated_at":"2025-03-12T06:31:14.851Z","avatar_url":"https://github.com/tolopsy.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Easy Backup\nEasy Backup is a CLI tool to automate compression and backup of files into AWS S3 or a dedicated directory.\nEasy Backup is based on two main programs.\n\n 1. `backup` program: It is responsible for management of records in the database. You can use the `backup` executable to add or remove files. You can also use the executable to list all the files to backup. In a nutshell, `backup` is the management tool.\n 2. `backupd` program: This is the daemon responsible for the backup process.\n\nYou can find `backup` and `backupd` inside the [cmd folder](https://github.com/tolopsy/easy-backup/tree/main/cmd).\n \n ## How to setup Easy Backup\n All you need to setup Easy Backup is to run the make utility in your terminal as shown below\n ``` make ```\n This will build the daemon tool as well as the management tool for Easy Backup.\n Ensure that \n - You are in the repo directory.\n - You have the make utility installed.\n\n\n## Using Easy Backup\n \n ### How to run the management tool - `backup`\n \n1. - To add path(s): \n`./dist/backup add /path/to/file1 ./path/to/file2`\nPaths can be relative or absolute. And you can add as many paths as you want by separating them with a space.\n\t- To remove path(s):\n\t`./dist/backup remove ./path/to/file1 ./path/to/file2`\n\t- To list paths in db:\n\t`./dist/backup list`\n\n\tNote: The default location for the file-based db is ./data. But you can specify a custom location by using the -db flag when running the backup program.\n\n\tJust like this 👉🏾\n\t`./dist/backup -db=/custom/path/to/db [commands]`\n\n\n### How to run the backup daemon - `backupd`\n\n1. Simply run `./dist/backupd` to start the backup process.\n    The backup daemon backs up into AWS S3 by default.\n    The following environment variables are mandatory: S3Bucket, AWSRegion, AWSAccessKeyId and AWSSecretAccessKey\n\t- To use local storage instead of aws s3, set cloud flag to false. 👉🏾 `./dist/backupd -cloud=false`. The aforelisted environment variables are not needed for local storage.\n\n\t- **To specify a custom location for your file-based db**, append a db flag to the command.\n\t\n\t\tLike this 👉🏾\n\t`./dist/backupd -db=/path/to/customdb`\n\t\n\t- By default, the backup zip files will be stored in an folder named \"backups\" inside the s3 bucket (or project directory when using local storage). To specify a custom archive directory, append an archive flag to the command.\n\t\n\t\tLike this 👉🏾\n\t`./dist/backupd -archive=/path/to/archive`\n\t\n\t- The backup cycle runs every 10 seconds by default. This means that every 10 seconds, the daemon will perform the backup process. \n\n\t\tYou can update this cycle interval by appending an interval flag to the command.\n\t\t\n\t\tLike this 👉🏾\n\t\t`./dist/backupd -interval=40s`\n\t's' in '40s' above represents seconds. You can specify any interval you wish. \n\tUse 'h' for hour and 'm' for minute. You can also combine the interval units like this - `./dist/backupd -interval=1h20m30s`.\n\n    - To run backup once, include the `--once` flag.\n\nAdios!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftolopsy%2Feasy-backup","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftolopsy%2Feasy-backup","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftolopsy%2Feasy-backup/lists"}