{"id":26923073,"url":"https://github.com/alikuru/backup-aws","last_synced_at":"2026-05-02T18:32:50.268Z","repository":{"id":175818889,"uuid":"85668940","full_name":"alikuru/backup-aws","owner":"alikuru","description":"Simple bash script for backing up your MySQL databases and virtual hosts' files to AWS S3","archived":false,"fork":false,"pushed_at":"2023-12-28T14:20:09.000Z","size":11,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-09-13T16:40:15.760Z","etag":null,"topics":["aws","aws-s3","aws-ses","backup","bash","bash-script"],"latest_commit_sha":null,"homepage":"","language":"Shell","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/alikuru.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}},"created_at":"2017-03-21T06:51:42.000Z","updated_at":"2022-03-16T10:58:12.000Z","dependencies_parsed_at":"2023-12-28T15:42:07.004Z","dependency_job_id":null,"html_url":"https://github.com/alikuru/backup-aws","commit_stats":null,"previous_names":["alikuru/backup-aws"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/alikuru/backup-aws","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alikuru%2Fbackup-aws","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alikuru%2Fbackup-aws/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alikuru%2Fbackup-aws/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alikuru%2Fbackup-aws/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alikuru","download_url":"https://codeload.github.com/alikuru/backup-aws/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alikuru%2Fbackup-aws/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279002539,"owners_count":26083399,"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","status":"online","status_checked_at":"2025-10-10T02:00:06.843Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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","aws-ses","backup","bash","bash-script"],"created_at":"2025-04-02T00:38:50.509Z","updated_at":"2025-10-10T02:14:39.500Z","avatar_url":"https://github.com/alikuru.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Backup-AWS\nA simple bash script for backing up your MySQL databases and virtual hosts' files to AWS S3.\n\nIt basically finds every database hosted on your [MySQL](https://github.com/mysql/mysql-server) (or drop-in replacements like [MariaDB](https://github.com/MariaDB/server) and [Percona](https://github.com/percona/percona-server)) server, create dumps and archives them, then sends those archives with files on your virtual hosts root to S3. Since it uses `sync` functionality of AWS CLI, it actually mirrors your web root and database archives to S3, more like `rsync` than a blind FTP upload. Especially if you choose to use `--delete` parameter while synchronizing, which can be set through the settings file. Check [settings.conf.sample](settings.conf.sample) for the set of parameters I use for my transfers.\n\nThough it can be triggered manually, the script is designed to run as a daily cron job. If you don't want a particular database to be dumped synchronized every day, you may exlude it in the settings file. You can also exclude directories from your webroot. Again, please check [settings.conf.sample](settings.conf.sample) for details.\n\n### Usage\n- Clone the repo to your server, wherever you like. Preferably at `/root/`.\n- Copy [settings.conf.sample](settings.conf.sample) to `settings.conf` at the script directory and edit it with your credentials and preferences.\n- Set a daily cron and if everything works, you'll start receiving daily backup reports.\n\n### Requirements\nNeeds [AWS CLI](https://github.com/aws/aws-cli) for synchronizing to S3 and sending notification emails through SES. Also needs [7zip](http://www.7-zip.org) for archiving. Tested only on Debian 7 and 8 but should work on other distributions as well.\n\n### License\nThis script is licensed under MIT License, which allows you to freely use or modify it as you see fit, without guaranteeing any results. Please read [LICENSE](LICENSE) file for details.\n\n### Known bugs\n- DKIM signing seems to fail while using `send-raw-email`, which may cause false-positive spam alerts in some e-mail providers. However, SPF \u0026 DMARC still passes and these two should suffice for majority of inboxes. `send-raw-email` is currently a necessity for sending attachments with AWS CLI.\n\n### To-do's\n- ~~Make rotation an option that can be controlled through the settings file.~~\n- Interactively create the settings file.\n- Create buckets while creating the settings file.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falikuru%2Fbackup-aws","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falikuru%2Fbackup-aws","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falikuru%2Fbackup-aws/lists"}