{"id":18837085,"url":"https://github.com/bkuhlmann/archiver","last_synced_at":"2025-04-14T06:22:04.451Z","repository":{"id":9885321,"uuid":"11889072","full_name":"bkuhlmann/archiver","owner":"bkuhlmann","description":"Shell scripts for automated backup of UNIX-based operation systems.","archived":false,"fork":false,"pushed_at":"2024-03-16T21:35:44.000Z","size":251,"stargazers_count":7,"open_issues_count":0,"forks_count":2,"subscribers_count":4,"default_branch":"main","last_synced_at":"2024-05-01T23:13:54.939Z","etag":null,"topics":["backup","shell"],"latest_commit_sha":null,"homepage":"https://alchemists.io/projects/archiver","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bkuhlmann.png","metadata":{"files":{"readme":"README.adoc","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE.adoc","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null},"funding":{"github":["bkuhlmann"]}},"created_at":"2013-08-05T03:01:39.000Z","updated_at":"2023-05-04T14:29:09.000Z","dependencies_parsed_at":"2023-10-16T08:53:07.102Z","dependency_job_id":"b055cd6b-f856-4ef0-8c63-e423d8bb79d9","html_url":"https://github.com/bkuhlmann/archiver","commit_stats":null,"previous_names":[],"tags_count":41,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bkuhlmann%2Farchiver","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bkuhlmann%2Farchiver/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bkuhlmann%2Farchiver/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bkuhlmann%2Farchiver/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bkuhlmann","download_url":"https://codeload.github.com/bkuhlmann/archiver/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223622454,"owners_count":17174867,"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","shell"],"created_at":"2024-11-08T02:33:54.960Z","updated_at":"2024-11-08T02:33:55.672Z","avatar_url":"https://github.com/bkuhlmann.png","language":"Shell","funding_links":["https://github.com/sponsors/bkuhlmann"],"categories":[],"sub_categories":[],"readme":":toc: macro\n:toclevels: 5\n:figure-caption!:\n\n= Archiver\n\n⚠️ *This project is deprecated and will be fully destroyed on 2025-03-05.* ⚠️\n\nProvides customizable shell scripts for the automated backup of UNIX-based operation systems. These\nscripts are useful when you have available remote server storage you can backup your primary system\ntoo.\n\ntoc::[]\n\n== Features\n\n* Uses rsync for reliable, compressed, and fast backups.\n* Uses date/time-stamped backup folders by default.\n* Enforces backup limits so only a max number of backups can exist.\n* Supports automatic full and incremental backups.\n* Supports customizable settings for defining the local machine and remote server to backup to.\n* Supports customizable file manifest (include list) for defining what files and directories to\n  backup.\n\n== Requirements\n\n. A UNIX-system capable of running rsync.\n. Knowledge of shells, scripting, cron, and SSH.\n\n== Setup\n\nTo install, run:\n\n[source,bash]\n----\ngit clone https://github.com/bkuhlmann/archiver.git\ncd archiver\ngit checkout 9.1.1\n----\n\n== Usage\n\nType the following from the command line to run:\n\n[source,bash]\n----\nbin/run\n----\n\nRunning the `bin/run` script will present the following options:\n\n....\ns: Setup current machine.\nb: Backup to remote server.\nc: Clean backups (enforces backup limit).\nq: Quit/Exit.\n....\n\nThe options prompt can be skipped by passing the desired option directly to the `bin/run` script.\nFor example, executing `bin/run s` will perform setup for the current machine.\n\n=== Configuration\n\nApplying machine-specific settings is required prior to performing a backup. The shell script (see\nUsage section below for details) will install templates to get you started but will require further\ncustomization. The following is a breakdown of each setting file and how to use it:\n\n* `$HOME/.config/archiver/settings.sh` - Informs the Archiver how and where to perform the backup\n  (see the settings/settings.sh.example file for examples). It consists of the following settings:\n** `BACKUP_NAME` - The name used for each backup (in this case a datetime). Example:\n   2013-01-15_10-30-55.\n** `BACKUP_USER` - The user account name used for both the current machine and backup server.\n** `BACKUP_MACHINE` - The name of machine to be backed up. This is also used to create the root\n   folder for all machine backups and related logs.\n** `BACKUP_SERVER` - The backup server network name or IP address (where all backups will be\n   stored).\n** `BACKUP_ROOT` - Root path for all backup folders on backup server for current machine.\n** `BACKUP_LIMIT` - The max number of backups to keep at a time.\n* `$HOME/.config/archiver/manifest.txt` - Defines all files to be backed up (include list). Use\n  absolute file/directory paths based off the root directory (i.e. `/`). See the\n  settings/manifest.txt.example file for examples.\n\n=== Cron\n\nOnce backups are configured and running properly, add this script to your\nlink:https://en.wikipedia.org/wiki/Crontab[crontab] for daily backup automation. Example:\n\n[source,bash]\n----\n* 1 * * * cd $HOME/Dropbox/Development/archiver \u0026\u0026 bin/run b 2\u003e\u00261\n----\n\n...which translates to running the script at 1am every morning.\n\n=== SSH\n\nTo bypass the password prompt, install your public key on the backup server so cron does not have\nauthentication issues when performing a backup (assuming you have a public key located at the\nfollowing location):\n\n[source,bash]\n----\n~/.ssh/id_rsa.pub\n----\n\n...you can then perform the following to install it on the backup server (assumes an authorized_key\nfile does not already exists):\n\n[source,bash]\n----\nscp  ~/.ssh/id_rsa.pub archiver@archiver.local:.ssh/authorized_keys\n----\n\nThat's it!\n\nFor more info on SSH key generation, check out the\nlink:https://help.github.com/articles/generating-ssh-keys[GitHub Generating SSH Keys] page.\n\n=== Troubleshooting\n\n* SSH Connection Closed - If using a macOS backup server this will happen when the user you are\n  logging in as doesn't have remote access permission. Here are the steps to fix:\n** Login to the OSX backup server.\n** Open System Preferences\n** Click on Sharing.\n** Enable Remote Login and Remote Management for all users or just the users you want to allow for\n   backup access.\n* Rsync Error 23 - If you see this in the backup log, it is most likely because the source\n  file/directory no longer exists. Update your manifest.txt to fix accordingly.\n\n== Development\n\nTo contribute, run:\n\n[source,bash]\n----\ngit clone https://github.com/bkuhlmann/archiver.git\ncd archiver\n----\n\n== link:https://alchemists.io/policies/license[License]\n\n== link:https://alchemists.io/policies/security[Security]\n\n== link:https://alchemists.io/policies/code_of_conduct[Code of Conduct]\n\n== link:https://alchemists.io/policies/contributions[Contributions]\n\n== link:https://alchemists.io/projects/archiver/versions[Versions]\n\n== link:https://alchemists.io/community[Community]\n\n== Credits\n\nEngineered by link:https://alchemists.io/team/brooke_kuhlmann[Brooke Kuhlmann].\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbkuhlmann%2Farchiver","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbkuhlmann%2Farchiver","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbkuhlmann%2Farchiver/lists"}