{"id":47842275,"url":"https://github.com/srobo/server-backup","last_synced_at":"2026-04-03T21:01:10.154Z","repository":{"id":141778582,"uuid":"187388528","full_name":"srobo/server-backup","owner":"srobo","description":"Server backup scripts","archived":false,"fork":false,"pushed_at":"2019-10-12T12:30:52.000Z","size":81,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":5,"default_branch":"master","last_synced_at":"2023-03-12T07:12:49.267Z","etag":null,"topics":["backup","server"],"latest_commit_sha":null,"homepage":"","language":"Python","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/srobo.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"custom":["https://studentrobotics.org/sponsor/","https://www.justgiving.com/studentrobotics"]}},"created_at":"2019-05-18T17:47:15.000Z","updated_at":"2019-10-12T15:20:10.000Z","dependencies_parsed_at":"2026-04-03T21:00:59.037Z","dependency_job_id":null,"html_url":"https://github.com/srobo/server-backup","commit_stats":null,"previous_names":[],"tags_count":null,"template":null,"template_full_name":null,"purl":"pkg:github/srobo/server-backup","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/srobo%2Fserver-backup","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/srobo%2Fserver-backup/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/srobo%2Fserver-backup/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/srobo%2Fserver-backup/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/srobo","download_url":"https://codeload.github.com/srobo/server-backup/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/srobo%2Fserver-backup/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31377113,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-03T17:53:18.093Z","status":"ssl_error","status_checked_at":"2026-04-03T17:53:17.617Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["backup","server"],"created_at":"2026-04-03T21:01:02.215Z","updated_at":"2026-04-03T21:01:10.141Z","avatar_url":"https://github.com/srobo.png","language":"Python","funding_links":["https://studentrobotics.org/sponsor/","https://www.justgiving.com/studentrobotics"],"categories":[],"sub_categories":[],"readme":"# Server Backup\n\nThis git repo contains scripts for backing up various wadges of data from the\nSR server into some kind of manipulatable form.\n\nThese scripts aim to back up data into the same format used for the secrets\ndirectory in the puppet/server configuration. Given how infrequently restores\nare going to occur, bugs in the layout are likely.\n\n## Basic usage\n\nA copy of this repo is installed onto our servers by the puppet config. You can\neither manually run the `create-backup.py` script via ssh, or use the\n`do-backup.py` script to handle both creating backups and management of local\nbackup files.\n\n## Configuration\n\nSome of the locations and details of things to include are provided via\na config `backup.ini` file, which the script checks for. This is provided\nby puppet on the live server, but a sample file is provided as `example.ini`\nto ease development.\n\nAny changes to existing key names, or additions of keys, need to be mirrored\nin `srobo.org/server/puppet.git/modules/sr-site/templates/backup.ini.erb`.\n\n## Encrypting\n\nThere is the option of encrypting the output of the backup. The intention being\nthat backing up of data can be done by cron on a remote machine under someones\nuser account, without us having to worry about additional access controls.\n\nTo do this, specify the -e switch. Currently the backup script will use whatever\nkey identies are in backup.ini, as configured by puppet. These need to be public\nkeys installed to root's keyring and _signed_ by root as well. These steps\nshouldn't ever make their way into automated configuration, given how\nimportant the decisions about who gets access to backups is.\n\n## Room for improvement\n\nRight now, backing up ldap and mysql involves manipulating a number of temporary\nfiles so that they can be put in the tarball. This appears to be due to a\nlimitation of the tar format, in that I can't stream data into one, as it\nrequires the size of file in advance. Using a different file format that allows\nthis would be better, even if it meant stooping as low as zips.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsrobo%2Fserver-backup","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsrobo%2Fserver-backup","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsrobo%2Fserver-backup/lists"}