"Aptigrate" is a bash script designed to help you take a backup of all the apt packages installed on your system. With this script, you can ensure that all your essential packages are saved and can be easily restored in case of a system reinstallation or upgrade. The script uses the apt command line tool to gather the list of installed packages and save it in a text file, which can then be used to restore the packages at a later time. Aptigrate is a simple and efficient solution to keep your system up to date while also preserving your installed packages.
- Backup your apt packages
- Periodic backup of all your packages
- Easy Restore ( Under developmenent )
Clone the git repository
git clone https://github.com/RyanWalker277/Aptigrate.git
cd Aptigrate
make the Installation script executable
chmod +x install.sh
Now run script with
./install.sh
Use Aptigrate in the following way
aptigrate -o /path/to/output/directory
If the script isnt provided with an output directory, it will create a backup.ap
file in the default directory i.e /var/log/aptigrate
You can schedule a regular backup by passing the cron expression to aptigrate
( Under Developement )
aptigrate -o /path/to/output/directory -c "cron_expression"
Aptigrate
will create a cronjob for the backup according to the cron expression provided by you.
Make sure to add the cron expression in a correct manner, otherwise the backup won't be scheduled correctly
Example:
*****
would result in an incorrect statement in crontab. It should be passed as * * * * *
. The spaces ensure right format of the generated cron expression
Clone the git repository
git clone https://github.com/RyanWalker277/Aptigrate.git
cd Aptigrate
Make the dev script executable by
chmod +x install.dev.sh
Now the changes you make to the aptigrate
script will be directly accessible on running the aptigrate
command.
Contributions are always welcome!
See contributing.md
for ways to get started.
Anvansh |
Hindu Muppala |
This project needs your shiny star ⭐.
Don't forget to leave a star ⭐️
Made with ❤ by Anvansh (@RyanWalker277)