cover 0.1.24

A simple Rust tool for syncing directories with change detection
<p align="center">
    <img
    src="https://raw.githubusercontent.com/ibilalkayy/cover/main/logo.png"
    alt="Logo"
    width="500"
    />
</p>

<p align="center">
  <a href="LICENSE">
    <img src="https://img.shields.io/badge/license-Apache--2.0-blue.svg" alt="License">
  </a>
  <a href="https://www.rust-lang.org">
    <img src="https://img.shields.io/badge/Rust-stable-orange" alt="Rust">
  </a>
</p>

✨ If you would like to help spread the word of Cover, please consider starring the repo!

# Table of Content

- [What is Cover?]#what-is-cover
- [Features]#features
  - [Present Features]#present-features
  - [Upcoming Features]#upcoming-features
- [Docs]#docs
- [Get Started]#get-started
- [Installation]#installation
- [License]#license
- [Contributing]#contributing

# What is Cover?

Cover is a Rust application where the source and destination are synced and any change in the source will be happening in the destination at the same time.

## Features

### Present Features

- **Sync** files and folders of source with destination

### Upcoming Features

- **Archive** projects into `.zip` or `.tar.gz`
- **Restore** from backups easily
- **Schedule** automatic backups (daily, weekly, interval-based)
- **List** archives and scheduled jobs
- **Clean** old backups with rules (`--keep-last`, `--older-than`)

## Docs

Here is the docs that you can read it yourself.

- [Cover Docs]https://docs.rs/crate/cover-files/

## Get Started

```bash
cargo install cover
```

### Commands 

```bash
cover sync
cover archive
cover restore
cover schedule
cover list
cover clean
```

```bash
cover sync --source src_directory --destination dest_directory --changed-only
cover sync --source src_directory --destination dest_directory --delete
cover sync --source src_directory --destination dest_directory --dry-run
cover sync --source src_directory --destination dest_directory --verbose
```

**Note:** Other commands are in the process.

## Installation

Fork, clone and build from the source:

```bash
git clone https://github.com/ibilalkayy/cover.git
cd cover
cargo build --release
````

The binary will be available at:

```
target/release/cover
```

Optionally, move it to your `$PATH`:

```bash
cp target/release/cover /usr/local/bin/cover
```

## License

This project is licensed under the [Apache-2.0 License](LICENSE).

## Contributing

Contributions, issues, and feature requests are welcome! Feel free to open a PR or file an issue on [GitHub](https://github.com/ibilalkayy/cover/issues).