Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/grahfmusic/idontexist-rescue

A Linux command tool written in bash that creates backups of Jellyfin instance along with its associated tools and web based configuration.
https://github.com/grahfmusic/idontexist-rescue

Last synced: 4 days ago
JSON representation

A Linux command tool written in bash that creates backups of Jellyfin instance along with its associated tools and web based configuration.

Awesome Lists containing this project

README

        

# idontexist-rescue

**idontexist-rescue** is a Linux-focused Python script designed to facilitate backup and restore operations for a Jellyfin instance and associated applications. It automates the process of backing up application data to specified directories and supports restoring from previously created backups or compressed archives.

![idontexist-rescue](doco.png)

## Features

- **Backup Functionality**:
- Supports backing up multiple Linux applications such as Jellyfin, Sonarr, Lidarr, Radarr, Jellyseerr, Jackett, and Nginx.
- Creates timestamped backups of specified directories associated with each application.
- Optionally compresses backups into `tar.xz` archives for efficient storage.

- **Restore Functionality**:
- Allows restoring from uncompressed backup directories or `tar.xz` archives.
- Restores application data to their respective directories (`/var/lib/`).

- **Terminal User Interface**:
- Displays colorful ASCII art header using the `art` library upon script execution.
- Provides real-time progress updates during backup and restore operations using `tqdm`.

- **Command-Line Options**:
- `--backup-dir`: Specify the directory where backups will be stored (default: `./idontexist-backups`).
- `--tar`: Enable compression of backup directories into `tar.xz` archives after backup.
- `--restore `: Restore from a specified backup directory or `tar.xz` file.
- `--app `: Specify the application to backup or restore. Use 'all' to backup all supported applications.
- `--verbose`: Enable verbose mode to display detailed progress and debug information.

## Installation

Ensure you have Python 3 installed along with pip. Clone the repository and install dependencies:

```bash
git clone https://github.com/grahfmusic/idontexist-rescue.git
cd idontexist-rescue
pip install -r requirements.txt
```

## Usage

Run the script with sudo privileges to access application data:

```bash
sudo python3 idontexist-rescue.py --app --backup-dir /path/to/backup/dir --tar
```

### Example Usage

1. **Backup Sonarr**:

```bash
sudo python3 idontexist-rescue.py --app sonarr --backup-dir /home/user/backups --tar
```

2. **Restore Nginx**:

```bash
sudo python3 idontexist-rescue.py --restore /path/to/nginx_backup.tar.xz --app nginx
```

3. **Backup All Applications**:

```bash
sudo python3 idontexist-rescue.py --app all --backup-dir /home/user/backups --tar
```

## Dependencies

- `art==5.2`
- `termcolor==1.1.0`
- `colorama==0.4.4`
- `tqdm==4.62.3`

## Contributing

Contributions are welcome! Please fork the repository and submit pull requests.

## License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

## Author

- **Grahf** - [GitHub](https://github.com/grahfmusic)

```