BakZip is a command-line interface (CLI) tool designed to simplify the process of backing up directories by compressing them into ZIP archives. It offers features like password protection, customizable compression levels, and the ability to exclude specific files and folders from the backup.
The BakZip.Cli tool offers a comprehensive set of features to enhance your file compression and sharing experience:
- Password Protection: Secure your compressed files with a password to ensure only authorized access.
- Encryption: Utilize professional-grade encryption methods such as AES or RSA to protect your data.
- Format Support: Compatible with various formats including ZIP, RAR, TAR, and TAR.GZ for optimal compression.
- Verbose Logging: Enable verbose logging to get detailed information about which files are skipped or backed up.
- Log Files: Generate log files that contain information about skipped files for easy reference.
- Advanced Compression: Achieve best-in-class compression, with the potential to reduce file sizes by up to 250%.
If you are using windows powershell please open that in administrator mode else you will find error. Also for unix use sudo.
- Clone the Repository:
git clone https://github.com/Smx27/BakZip.Cli.git
cd BakZip.Cli- Create a Virtual Environment (Recommended):
python -m venv venv
source venv/bin/activate # On Windows, use `venv\Scripts\activate`- Install Dependencies:
pip install -r requirements.txt- Install BakZip Globally (Editable Mode):
pip install -e .This will install bakzip package in a way that allows you to make changes to the code and have them reflected immediately. Now, you can run your CLI tool from anywhere in your system by using the command
bakzip --directory /path/to/dir --output backup.zip --password --compression maximum --verboseRun the tool with the following command:
python main.py --directory /path/to/dir --output backup.zip --password --compression maximum --verbose- --directory: The directory to be backed up (default: current directory).
- --output: The name of the output backup file (default: backup_<directory_name>.).
- --password: The password to protect the backup file (optional). If used without a value, you will be prompted securely.
- --compression: The compression level (choices: fast, normal, maximum; default: normal).
- --encryption: The encryption algorithm (choices: none, aes, rsa; default: none).
- --format: The backup format (choices: zip, tar, gz; default: zip).
- --verbose: Enable verbose logging (optional).
bakzip --directory /path/to/dir --output backup.zip --password --compression maximum --encryption aes --format zip --verboseEnsure you have a .bakzipignore file in the root of the directory to specify files and folders to exclude.
Contributions are welcome! Please open an issue or submit a pull request.
This project is licensed under the MIT License. See the LICENSE file for details.