{"id":26470477,"url":"https://github.com/junon10/linux-backup-script","last_synced_at":"2026-05-09T06:31:59.921Z","repository":{"id":207216111,"uuid":"718696804","full_name":"junon10/linux-backup-script","owner":"junon10","description":"Linux Backup Script","archived":false,"fork":false,"pushed_at":"2026-04-05T12:14:20.000Z","size":209,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-04-05T14:16:59.758Z","etag":null,"topics":["backup","backup-script","backup-solution","backup-tool","backup-utility","incremental-backups","linux-shell"],"latest_commit_sha":null,"homepage":"","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/junon10.png","metadata":{"files":{"readme":"README.md","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-11-14T16:04:22.000Z","updated_at":"2026-04-05T12:14:24.000Z","dependencies_parsed_at":null,"dependency_job_id":"a1b92162-351a-49c2-82b0-6bbf9dc61da3","html_url":"https://github.com/junon10/linux-backup-script","commit_stats":null,"previous_names":["junon10/linux_backup_script"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/junon10/linux-backup-script","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/junon10%2Flinux-backup-script","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/junon10%2Flinux-backup-script/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/junon10%2Flinux-backup-script/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/junon10%2Flinux-backup-script/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/junon10","download_url":"https://codeload.github.com/junon10/linux-backup-script/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/junon10%2Flinux-backup-script/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32809594,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-08T08:22:46.396Z","status":"online","status_checked_at":"2026-05-09T02:00:06.633Z","response_time":123,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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","backup-script","backup-solution","backup-tool","backup-utility","incremental-backups","linux-shell"],"created_at":"2025-03-19T18:56:42.127Z","updated_at":"2026-05-09T06:31:59.913Z","avatar_url":"https://github.com/junon10.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Linux Backup Script\n\n## Description\nA Linux backup script with options for mirrored ssh support, and local incremental backups.  \n\n## Requirements\n- **Operating System**: Linux.  \n- **File System**: ext4, btrfs.  \n\n## Features\n- Remote ssh mirrored backup support.\n- Detailed logs in the destination directory.  \n- Easy replication of backups to multiple disk drives or server location.\n- Crontab scheduling capability.\n- Fast incremental backups.\n- configuration file separate from the main script.\n\n## Installation\n\n1. Clone the repository.  \n\n2. It's recommended to encrypt the destination drive with LUKS and set a secret password, noting it down in your password manager or on paper.  \n\n3. Set run permission to the 'install.sh', 'remove.sh', and 'ssh_auto_config.sh' scripts\n\n4. Double-click on 'install.sh' to install app \n\n5. Open 'ssh_auto_config.sh' and set the variable 'username_hostname' to your username@hostname. Ex: username_hostname=\"john@nas.local\" \n\n6. Double-click on 'ssh_auto_config.sh' for auto config and send ssh public key to the server\n\n7. Set the source and destination directories for backups in the configuration files (`backup.conf`), which will be created automatically.  \n\n8. The first backup will be full (time-consuming), but subsequent backups will copy only modified files since the last backup, making them much faster.\n\n## Configuration\n\n### Make Backup\n- **BACKUP_TYPE**: Backup type selection \n- **DAY_LIMIT**: backup history changes (valid for rsync)  \n- **FROM_PATH**: Source directory path for backup  \n- **TO_PATH**: Destination directory path  \n\nExample (`backup.conf`):  \n```bash\n\nBACKUP_TYPE=1 # Rsync Incremental Mirror Backup (with ssh support)\n#BACKUP_TYPE=2 # Rsync Incremental History Changelog Backup (For mechanical hard drives only, due to the high volume of writes!) \n#BACKUP_TYPE=3 # Tar Incremental History Changelog Backup\n\nDAY_LIMIT=7 # Changelog (default 7 days)\n\nFROM_PATH=(\n  \"/home/$USER/.config/gqrx\"\n  \"/media/$USER/KINGSTON_1TB/Docs/Links\"\n  \"/media/$USER/KINGSTON_1TB/Installed-Apps/EAGLE-6.3.0\"\n  \"/media/$USER/KINGSTON_1TB/Docs/Develop/Projects/My_GitHub\"\n  \"/media/$USER/KINGSTON_1TB/Docs/KeePassXC\"\n)\n\nTO_PATH=(\n  \"/media/$USER/FlashDisk1/IncBackup\"\n  \"user@hostname:/media/$USER/SSD_2TB/Backups\"\n)\n\n```\n## Usage\n\n```bash\n\n# For backup directories:\n# Type 'backup' in the terminal window in the same directory where the backup.conf file is located \nbackup \n\n# For restore directories:\n# Type 'restore' in the terminal window in the same directory where the backup.conf file is located\nrestore \n\n```\n## Limitations\n- Does not copy files directly, only folders containing the files.\n- Backups cannot be made from Linux system files to a Windows partition (NTFS, EXFAT, FAT32, or FAT). Use Linux file systems like ext4 or btrfs instead. However, NTFS can still be used for common file copies with mirror backups.  \n- The tar incremental backup does not remove files that might have been deleted from the source.  \n\n## Author\n\n- **Junon M.**  \n  Contact: [junon10@tutamail.com](mailto:junon10@tutamail.com)\n\n## License\n\n- GPLv3\n\n## Repository\n\n[https://github.com/junon10/linux-backup-script](https://github.com/junon10/linux-backup-script)\n\n## Contributions\n\nContributions are welcome! Feel free to fork the repository and submit pull requests with your improvements.  \n\n## Changelog\n\n| Version | Date        | Changes Made               |\n|---------|-------------|---------------------------|\n| 1.0.0.9 | 2025/01/05 | Parameter simplification. Added function to keep only the most recent backups. Code reorganization. |\n| 1.0.0.10 | 2025/01/08 | Improved terminal messages and formatting. |\n| 1.0.0.11 | 2025/01/08 | Enhanced message formatting. |\n| 1.0.0.12 | 2025/01/13 | Improved logs and messages. New incremental and restore scripts with tar command. |\n| 1.0.0.13 | 2025/01/13 | Fixed script (make_rsysnc_inc_backup.sh) to use relative links instead of absolute links. |\n| 1.0.0.14 | 2025/01/14 | Automatic directory creation. |\n| 1.0.0.15 | 2025/01/16 | Removed excessive log messages for standard logs. |\n| 1.0.0.16 | 2025/01/24 | Improved some messages. |\n| 1.0.0.17 | 2025/01/27 | Changed scripts to enable automatic backups scheduled on Linux (Crontab). |\n| 1.0.0.18 | 2025/03/19 | Improved terminal messages |\n| 1.0.0.19 | 2025/04/22 | Improved terminal messages |\n| 1.0.0.21 | 2025/04/29 | ssh support for rsync mirror backups |\n| 1.0.0.22 | 2025/04/29 | add installer app |\n| 1.0.0.23 | 2025/04/29 | add protection rules |\n| 1.0.0.24 | 2025/04/30 | update app labels |\n| 1.0.0.26 | 2025/05/02 | arrays changes |\n| 1.0.0.31 | 2025/06/08 | log copy minor improvement |\n| 1.0.0.36 | 2026/03/30 | Auto commit. |\n| 1.0.0.37 | 2026/04/05 | Auto commit. |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjunon10%2Flinux-backup-script","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjunon10%2Flinux-backup-script","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjunon10%2Flinux-backup-script/lists"}