{"id":43063787,"url":"https://github.com/m-grant-prg/lixbackups","last_synced_at":"2026-01-31T12:21:24.857Z","repository":{"id":80858183,"uuid":"127526190","full_name":"m-grant-prg/lixbackups","owner":"m-grant-prg","description":"Linux Backup Scripts.","archived":false,"fork":false,"pushed_at":"2026-01-24T14:27:55.000Z","size":4013,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"tip","last_synced_at":"2026-01-25T02:24:38.930Z","etag":null,"topics":["autotools","backup","bash"],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/m-grant-prg.png","metadata":{"files":{"readme":"README","changelog":"ChangeLog","contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2018-03-31T11:28:33.000Z","updated_at":"2026-01-24T14:27:59.000Z","dependencies_parsed_at":"2023-11-12T11:29:14.363Z","dependency_job_id":"20706c3f-7c1f-4c49-b640-04d4d47ba200","html_url":"https://github.com/m-grant-prg/lixbackups","commit_stats":null,"previous_names":[],"tags_count":53,"template":false,"template_full_name":null,"purl":"pkg:github/m-grant-prg/lixbackups","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/m-grant-prg%2Flixbackups","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/m-grant-prg%2Flixbackups/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/m-grant-prg%2Flixbackups/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/m-grant-prg%2Flixbackups/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/m-grant-prg","download_url":"https://codeload.github.com/m-grant-prg/lixbackups/tar.gz/refs/heads/tip","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/m-grant-prg%2Flixbackups/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28942299,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-31T12:10:04.904Z","status":"ssl_error","status_checked_at":"2026-01-31T12:09:58.894Z","response_time":128,"last_error":"SSL_read: 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":["autotools","backup","bash"],"created_at":"2026-01-31T12:21:24.199Z","updated_at":"2026-01-31T12:21:24.852Z","avatar_url":"https://github.com/m-grant-prg.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"-------------------\nLinux Backup System\n===================\n\nAuthor - Copyright (C) 2012-2020 Mark Grant\n\n--------\nContents\n========\n\n1 ... Project Description\n\n2 ... AutoTools (configure and make) Installation\n\n3 ... Installation of Distro-Native Packages\n\n4 ... Utility Scripts\n\n\n\n-------------------------\n1 ... Project Description\n=========================\n\nThis AutoTools project contains a backup system.\n\nThe system can perform 1, 2 or 3 of 4 backup strategies; a full add hoc\nbackup, a weekly differential or a weekly incremental and a daily selective.\nNB Weekly differential and weekly incremental backups are an either / or\nsituation.\n\nFull ad hoc\n-----------\nThe full ad hoc backup can be used at any time for an independent backup.\n\nFilenames are:- backupYYYYMMDDHHMM.tar.gz\n\nWeekly Differential\n-------------------\nThe weekly differential backup facilitates a full weekly backup and subsequent\ndaily differential backups, (the differential backups being changes from the\nweekly backup - not any previous daily differential backup).\n\ne.g.\nWeekly backup performed week 2 of the month on Thursday\nDaily differential backup performed on the following Saturday\nDaily differential backup performed on the following Monday\n\nIn this case the Monday backup holds changes since the Thursday weekly backup.\nThe above example also shows that you do not have to run the weeklies weekly nor\nthe dailies daily.\n\nFilenames are:-\n\tWeekly\tbackupW.tar.gz\t(where W is the week of the month (1 - 5)\n\tDaily\tbackupDDD.tar.gz\t(eg DDD is Tue)\n\nWeekly Incremental\n------------------\nThe weekly incremental backup facilitates a full weekly backup as in the\ndifferential version but with subsequent daily incremental backups, (the\nincremental backups being changes from the preceding backup be it weekly or\ndaily incremental).\n\ne.g.\nWeekly backup performed week 2 of the month on Thursday\nDaily incremental backup performed on the following Saturday\nDaily incremental backup performed on the following Monday\n\nIn this case the Monday backup holds changes since the Saturday daily\nincremental backup.\nUnlike the daily differential case it is important that daily incremental\nbackups are not overwritten without an intervening weekly backup. eg Looking at\nthe above example, if no further backups are taken until the next Saturday and a\ndaily incremental is run, this will overwrite the first Saturday and would\ndestroy the chain from the Thursday weekly backup, there would be a gap in the\narchive.\n\nFilenames are:-\n\tWeekly\tbackupW.tar.gz\t(where W is the week of the month (1 - 5)\n\tDaily\tbackupDDD.tar.gz\t(eg DDD is Tue)\n\nDaily Selective\n---------------\nThe daily selective backups archive a user-specified ,(in a config file), set of\nfiles or directories which are overwritten on a weekly basis.\n\nThe system allows for the target device to be either a cifs or NFS share and\nthis is defined using the setup.sh script. The system supplies scripts for\nmounting and unmounting these shares.\n\nRunning the Backups\n-------------------\nAlthough the commands can all be run manually, it would be more normal to run\nthem via cron.\n\ne.g. root's crontab might look like:-\n# Daily at 17:10 run a selective backup\n10 17 * * 0,1,2,3,4,5,6 netbckup -s\n\n# Every Friday, at 00:15, run a full weekly backup\n15 00 * * 5 netbckup -w\n\n# Nightly except for Friday, at 00:15, run a daily differential backup\n15 00 * * 0,1,2,3,4,6 netbckup -d\n\nIn this example the selective backup could be the home directories for all\nusers.\n\nShares\n------\nCIFS and NFS shares are supported. Typically CIFS would be used for Network\nAttached Storage (NAS) and NFS would be used to a server.\n\nThree scripts are supplied to manage the shares:-\nattbckshare - mount the backups share\nchkbckshare - check if the backup share is mounted\ndetbckshare - unmount the backup share\n\nRestores\n--------\nSo many restore possibilities exist that no restore script is supplied, the user\nmust follow the general process of:-\n\nattbckshare\nRestore files using tar\ndetbckshare\n\nConfig Files\n------------\nbackups.conf - The main configuration file populated by setup.sh\n\nbcksystem.exclude - A file supplied in this project package containing files and\ndirectories to be excluded by all backups. It typically contains directories\nsuch as /proc and /sys. This file must *NOT* be edited, it will be overwritten\nby subsequent package updates. Use the other .exclude files supplied.\n\nbckweekly.exclude - Files and directories, (in addition to those specified in\nbcksystem.exclude), to be excluded from full weekly backups.\n\nbckdaily.exclude - As for bckweekly.exclude but for daily differential /\nincremental backups.\n\nbckseldaily.files - File and directories to be included in the daily selective\nbackups.\n\nbckseldaily.exclude - As for bckweekly.exclude but for the daily selective\nbackups.\n\nLogs\n----\nA log called lixbackups.log in /var/log contains a log of backup runs.\nA file is placed in the logrotate.d directory to manage these log files.\n\nN.B.\n----\nAt a source modification / development level, this project expects to reside in\na git environment. This manifests itself in 2 places:-\n1) ... .gitignore files are included in the source.\n2) ... The make target, 'srctarball', relies on the command 'git archive' so it\n\twill fail if git is not installed or it is not in a git repository.\n\n\n-------------------------------------------------\n2 ... AutoTools (configure and make) Installation\n=================================================\n\na) ... Download either the source or distribution tarball (the .tar.gz file)\n\tfrom:-\n\nhttps://github.com/m-grant-prg/lixbackups/releases\n\nb) ... Extract the tarball preserving the directory structure.\n\nc) ... cd to the directory created.\n\nd) ... If you downloaded the source tarball type 'autoreconf -if'\n\ne) ... Type './configure'\n\nf) ... As root or sudo, type 'make install clean'\n\ng) ... Shares must be set up as needed.\n\nh) ... After only the initial installation run setup.sh from the pkglibexec\n\tdirectory. To find the script location on your system\n\ttype 'find / -path */lixbackups/setup.sh 2\u003e/dev/null'.\n\tTypically in an AutoTools build pkglibexec is /usr/local/libexec/PACKAGE\n\tso as root or sudo you would type\n\t'/usr/local/libexec/lixbackups/setup.sh'.\n\tAnswer the prompts from the setup script.\n\tSubsequent to the initial installation, config files can only be\n\tmodified with an editor, setup.sh will not work.\n\ni) ... Edit the .files and .exclude files as required.\n\n(Quote marks are for textual clarity only).\n\nTo uninstall the package:\n\n1 ... cd to the directory created in the above install process.\n\n2 ... As root or sudo, type 'make uninstall clean'\n\n\n--------------------------------------------\n3 ... Installation of Distro-Native Packages\n============================================\nInstallation packages native to different distributions are available, please\nrefer to the relevant installation section on the wiki at:-\n\nhttps://github.com/m-grant-prg/lixbackups/wiki\n\n\n---------------------\n4 ... Utility Scripts\n=====================\nIn the project root directory there is 1 helper script; bootstrap.sh.\n\nbootstrap.sh\n------------\nThis misleadingly named script bootstraps the project build and provides other\nuseful features. The main options below are probably b, c, C, D and T.\n\nIn AutoTools it is usually advisable to perform parallel builds. This means you\nbuild somewhere other than the project root. This is because building creates\nfiles and they would confuse the project root downwards. I always create a build\ndirectory straight off the project root, cd to there and do all build and git\nwork from there, (.gitignore is already set to ignore such a directory).\n\nAssuming you adopt the preceding paragraph then a typical invocation of the\nscript would be:-\n\n../bootstrap.sh --config --build ..\n\nThe last '..' points the way to project root.\n\nFor the full list of arguments to bootstrap.sh, please refer to the options\nsection of the acmbuild wiki, the options are identical:-\n\nhttps://github.com/m-grant-prg/acmbuild/wiki\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fm-grant-prg%2Flixbackups","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fm-grant-prg%2Flixbackups","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fm-grant-prg%2Flixbackups/lists"}