{"id":22912004,"url":"https://github.com/opencoff/snapbak","last_synced_at":"2025-05-09T01:33:42.051Z","repository":{"id":75757141,"uuid":"47299004","full_name":"opencoff/snapbak","owner":"opencoff","description":"Rotating tarsnap backup script","archived":false,"fork":false,"pushed_at":"2019-12-30T20:43:57.000Z","size":22,"stargazers_count":8,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-31T20:39:59.087Z","etag":null,"topics":["backup-rotation","backup-script","tarsnap"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/opencoff.png","metadata":{"files":{"readme":"README.rst","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}},"created_at":"2015-12-03T01:22:10.000Z","updated_at":"2024-04-21T19:10:27.000Z","dependencies_parsed_at":"2023-06-07T14:45:15.170Z","dependency_job_id":null,"html_url":"https://github.com/opencoff/snapbak","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/opencoff%2Fsnapbak","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opencoff%2Fsnapbak/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opencoff%2Fsnapbak/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opencoff%2Fsnapbak/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/opencoff","download_url":"https://codeload.github.com/opencoff/snapbak/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253174424,"owners_count":21865863,"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-rotation","backup-script","tarsnap"],"created_at":"2024-12-14T04:19:32.867Z","updated_at":"2025-05-09T01:33:42.044Z","avatar_url":"https://github.com/opencoff.png","language":"Python","readme":"Brief Description\n=================\n``snapbak`` is a very simple tarsnap_ frontend. Main features:\n\n- No config file needed; completely driven by command line\n- Do hourly, daily, weekly, monthly backup with N sets per type\n- Deletes older archives (older than N sets)\n\n.. _tarsnap: http://tarsnap.com/\n\nRequirements\n------------\n* Python 2.7.x (on any supported platform)\n* Tested on:\n    - Debian Linux amd64 (testing, unstable)\n    - OpenBSD 5.7, 5.8 - amd64, i386\n    - OS X Mavericks, OS X Yosemite\n\nInstallation\n------------\nCopy the ``snapbak`` script to your preferred location in ``$PATH``. I put\nthis in ``$HOME/bin``.\n\nUsage\n-----\nBrief usage::\n\n    snapbak Keyfile Archive hourly|daily|weekly|monthly [Max-Sets] Dir [Dir ...]\n\nPositional arguments::\n\n    Keyfile     Tarsnap keyfile\n    Archive     The tarsnap archive prefix\n    type        Backup type; one of 'hourly', 'daily', 'weekly' or 'monthly'\n    Dir         One or more directories to backup\n    Max-Sets    An integer argument denoting the maximum number of previous\n                backups to retain.\n\nIf ``Max-Sets`` is not provided, the program uses the following\ndefaults:\n\n- Hourly:  24 \n- Daily:   10\n- Weekly:   6\n- Monthly: 14\n\nIf you have a directory name that can be interpreted as an\ninteger and thus confused for \"Max-Sets\", you can disambiguate by\nproviding a valid \"Max-Sets\" value or \"-\" if you want to use the\nprogram supplied defaults.\n\nOptional arguments::\n\n    -h, --help          show this help message and exit\n    -n, --dry-run       Do a dry-run, don't actually commit things [False]\n    -v, --verbose       Show verbose progress messages [False]\n    -c D, --cachedir D  Use 'D' as the tarsnap cache dir []\n    -V                  Show version information and quit\n\nThe archive name in the tarsnap cloud is derived as ``Archive-Type-Tstamp``; where:\n\n- ``Archive`` is the archive name prefix from the command line\n- ``Type`` is the backup type (daily, weekly etc.)\n- ``Tstamp`` is the current date, time in the format YYYY-MMM-DD-hh-mm; where:\n  YYYY: four digit year, MMM: short month name, DD: two digit date,\n  hh: two digit hour in 24 hour format, mm: two digit minute.\n\n\nExamples\n========\n- Backup dirA, dirB identified by 'work' and keep last 7 days worth of\n  daily backups::\n\n      snapbak /path/to/Keyfile.key work daily 7 dirA dirB\n\n- Backup directories *10*, *20* identified by ``photos`` and keep\n  last 10 weeks worth of weekly backups::\n\n      snapbak /path/to/Keyfile.key photos weekly 10 10 20\n\n  In the above example, the first ``10`` is the number of backup sets\n  and the second *10* is the directory name.\n\n- Do a monthly backup of directories *10*, *20* identified by the prefix ``foo``\n  and use the program defaults for number of retained backups::\n\n      snapbak /path/to/Keyfile.key foo monthly - 10 20\n\n\nFAQ\n===\n- How do I know which archives are stored in the cloud?\n    ``tarsnap --keyfile /path/to/Keyfile.key --list-archives``\n\n- Why do you need to do hourly backups?\n    I don't know. But if you do, ``snapbak`` supports it.\n\n\n- How many daily, weekly and monthly sets do I need to keep?\n    It depends on your needs. I use the following:\n\n    - 10 daily backups\n    - 6 weekly backups\n    - 14 monthly backups\n\n    And no, I don't use hourly backups.\n\n\n.. vim:ft=rst:notextmode:expandtab:tw=74:sw=4:ts=4:\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopencoff%2Fsnapbak","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopencoff%2Fsnapbak","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopencoff%2Fsnapbak/lists"}