{"id":16243685,"url":"https://github.com/mhthies/rsync-backup","last_synced_at":"2025-04-08T11:00:16.484Z","repository":{"id":95230871,"uuid":"59107727","full_name":"mhthies/rsync-backup","owner":"mhthies","description":"Simple but not too simple local backup script using rsync.","archived":false,"fork":false,"pushed_at":"2016-09-28T07:05:36.000Z","size":7,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-02-14T07:20:06.310Z","etag":null,"topics":["backup","incremental-backups","rsync"],"latest_commit_sha":null,"homepage":null,"language":"Shell","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/mhthies.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":"2016-05-18T11:00:01.000Z","updated_at":"2020-11-24T09:33:05.000Z","dependencies_parsed_at":"2023-07-24T10:30:48.638Z","dependency_job_id":null,"html_url":"https://github.com/mhthies/rsync-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/mhthies%2Frsync-backup","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mhthies%2Frsync-backup/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mhthies%2Frsync-backup/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mhthies%2Frsync-backup/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mhthies","download_url":"https://codeload.github.com/mhthies/rsync-backup/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247829473,"owners_count":21002994,"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","incremental-backups","rsync"],"created_at":"2024-10-10T14:15:56.383Z","updated_at":"2025-04-08T11:00:14.360Z","avatar_url":"https://github.com/mhthies.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# rsync-backup\n\nA simple but not too simple backup script based on rsync.\n\nIncluding incremental snapshot backups using hardlinks, weekly and monthly snapshots, automatic backup rotation\n(deletion of old backups, while preserving monthly snapshots), interactive dryrun storing transaction list, interactive\noption to continue unfinished backups and passing of custom filter (exclude) file.\n\n## Usage\n\nFrom the commandline help (`rsync-backup.sh -h`):\n\n```\nUsage:\n  rsync-backup.sh -s \u003cSOURCE\u003e -d \u003cDEST\u003e [-i] [-f \u003cFILTER\u003e]\n\nOptions:\n  -s \u003cSOURCE\u003e\n        Source directory. This is the source folder, that will be\n        backuped.\n        \n        Warning: The source path must not include a trailing slash.\n  \n  -d \u003cDEST\u003e\n        Destination directory. The backups are stored in sub-directories\n        of the destination directory. Each run of this backup script will\n        create a new folder here containing a full snapshot of the source\n        direcotry.\n        There will also be folders containing weekly and monthly backups\n        of the source directory. All unchanged files are only stored once\n        on drive and hardlinked between all those folders.\n        \n        Warning: The destination path must not include a trailing slash.\n  \n  -f \u003cFILTER\u003e   (optional)\n        Path to filter file. This file will be passed to rsync with the\n        --exclude-from option. It should contain relative paths inside\n        the source directory, that will be excluded from backup.\n    \n  -i            (optional)\n        Disable interactive mode. The user will not be asked for a dry run\n        or to continue an incomplete backup.\n        \n  -h\n        Show this help message and exit without doing anything.\n```\n\n## Tips\n\nYou may want to edit the constant definitions in the first lines of the script.\n\nIf you use this script for backups to a file system without user/group/permissions support (e.g. NTFS without user\nmapping), rsync will allways copy every file, due to the permissions mismatch. In that case add the following options\nto RSYNC_OPTIONS: `--no-perms --no-owner --no-group`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmhthies%2Frsync-backup","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmhthies%2Frsync-backup","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmhthies%2Frsync-backup/lists"}