sync2folders


Namesync2folders JSON
Version 1.0.2 PyPI version JSON
download
home_pagehttps://github.com/ivanSantos16/sync2folders
SummarySynchronizes source and replica folders
upload_time2023-02-11 16:30:17
maintainerivanSantos16
docs_urlNone
authorivanSantos16
requires_python>=3.10
licenseMIT
keywords sync folders synchronize
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <a src='https://www.rplumber.io/'><img src='logo.png' align="right" height="138.5" style="margin:10px;" /></a>

![software-version](https://custom-icon-badges.demolab.com/badge/Version-v1.0.2-gray.svg?labelColor=informational&logo=stack) 
![software-state](https://custom-icon-badges.demolab.com/badge/Status%20-Under%20Development-gray.svg?labelColor=informational&logo=gear) 
[![PyPI version](https://badge.fury.io/py/sync2folders.svg)](https://badge.fury.io/py/sync2folders)

![software-owner](https://custom-icon-badges.demolab.com/badge/Owner%20-Ivan%20Santos-gray.svg?labelColor=informational&logo=person)
<a href="mailto:ivan.rafa.16@gmail.com" rel="nofollow">![owner-contact: ivan.rafa.16@gmail.com](https://custom-icon-badges.demolab.com/badge/Contact%20-ivan.rafa.16@gmail.com-gray.svg?labelColor=informational&logo=mail)</a>
<br>
<h1 style="text-align: left;">sync<span style="color: #00b336">$\color[rgb]{0,0.67,0.2} 2$</span>folders</h1>

<p style="text-align: justify;">This is a simple program that synchronizes two folders: source and replica. The program maintains a full, identical copy of source folder at replica folder. The program is written in Python.</p>

<p style="text-align: justify;">The program is designed to be run from the command line. It takes four arguments: source folder path, replica folder path, synchronization interval and logs path. The program synchronizes the folders every time the interval expires. The program logs file creation/copying/removal operations to a file and to the console output.</p>

<br>

## **Features**

- [x] Synchronization is one-way: after the synchronization content of the replica folder is modified to exactly match content of the source folder;
- [x] Synchronization is performed periodically;
- [x] File creation/copying/removal operations are logged to a file and to the console output;
- [x] Folder paths, synchronization interval and log file path are provided using the command line arguments;

<br>

## **Quick Start**
<details>
  <summary><h2><strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get The Script From Git Hub Repo</strong></h2></summary>

Inside a folder of your choice, clone the repository from command line:

```bash
git clone https://github.com/ivanSantos16/sync2folders
```

You can run the program from the command line and ask for help with the script variables:

```bash
python sync2folders -h                                                                             

usage: synchronisation.py [-h] -s SOURCE -r REPLICA -p PERIOD -l LOGS

Synchronizes two folders: source and replica

options:
  -h, --help            show this help message and exit
  -s SOURCE, --source SOURCE
                        Source folder path
  -r REPLICA, --replica REPLICA
                        Replica folder path
  -p PERIOD, --period PERIOD
                        Period of time in seconds between each synchronization
  -l LOGS, --logs LOGS  Logs file path
```

<br>

### Arguments Description
- `source` : Source folder path (required) [string]
- `replica` : Replica folder path (required) [string]
- `period` : Period of time in seconds between each synchronization (required) [int]
- `logs` : Logs file path (required) [string]

<br>

### Different examples of running the program.

First example:

```bash
python sync2folders -s <source_folder_path> -r <replica_folder_path> -p <sync_interval> -l <log_file_path>
```

```bash
python sync2folders -s source -r replica -p 10 -l logs/logs.txt
```
<br>

Second example:

```bash
python sync2folders --source <source_folder_path> --replica <replica_folder_path> --period <sync_interval> --logs <log_file_path>
```

```bash
python sync2folders --source source --replica replica --period 10 --logs logs/logs.txt
```
</details>
  
<details open>
<summary><h2><strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get The Script From Pypi</strong></h2></summary>


From command line, install the package with pip:

```bash
python -m pip install sync2folders
```

From anywhere, you can run the program from the command line and ask for help with the script variables:

```bash
python -m sync2folders -h                                                 

usage: synchronisation.py [-h] -s SOURCE -r REPLICA -p PERIOD -l LOGS

Synchronizes two folders: source and replica

options:
  -h, --help            show this help message and exit
  -s SOURCE, --source SOURCE
                        Source folder path
  -r REPLICA, --replica REPLICA
                        Replica folder path
  -p PERIOD, --period PERIOD
                        Period of time in seconds between each synchronization
  -l LOGS, --logs LOGS  Logs file path
```

<br>

### Arguments Description
- `source` : Source folder path (required) [string]
- `replica` : Replica folder path (required) [string]
- `period` : Period of time in seconds between each synchronization (required) [int]
- `logs` : Logs file path (required) [string]

<br>

### Different examples of running the program.

First example:

```bash
python -m sync2folders -s <source_folder_path> -r <replica_folder_path> -p <sync_interval> -l <log_file_path>
```

```bash
python -m sync2folders -s source -r replica -p 10 -l logs/logs.txt
```
<br>

Second example:

```bash
python -m sync2folders --source <source_folder_path> --replica <replica_folder_path> --period <sync_interval> --logs <log_file_path>
```

```bash
python -m sync2folders --source source --replica replica --period 10 --logs logs/logs.txt
```
</details open>

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/ivanSantos16/sync2folders",
    "name": "sync2folders",
    "maintainer": "ivanSantos16",
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": "ivan.rafa.16@gmail.com",
    "keywords": "sync,folders,synchronize",
    "author": "ivanSantos16",
    "author_email": "ivan.rafa.16@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/86/46/080bdce4d496c2f413dd510ee22ecb960896b31b63ed133e3a1fff6f86b9/sync2folders-1.0.2.tar.gz",
    "platform": null,
    "description": "<a src='https://www.rplumber.io/'><img src='logo.png' align=\"right\" height=\"138.5\" style=\"margin:10px;\" /></a>\n\n![software-version](https://custom-icon-badges.demolab.com/badge/Version-v1.0.2-gray.svg?labelColor=informational&logo=stack) \n![software-state](https://custom-icon-badges.demolab.com/badge/Status%20-Under%20Development-gray.svg?labelColor=informational&logo=gear) \n[![PyPI version](https://badge.fury.io/py/sync2folders.svg)](https://badge.fury.io/py/sync2folders)\n\n![software-owner](https://custom-icon-badges.demolab.com/badge/Owner%20-Ivan%20Santos-gray.svg?labelColor=informational&logo=person)\n<a href=\"mailto:ivan.rafa.16@gmail.com\" rel=\"nofollow\">![owner-contact: ivan.rafa.16@gmail.com](https://custom-icon-badges.demolab.com/badge/Contact%20-ivan.rafa.16@gmail.com-gray.svg?labelColor=informational&logo=mail)</a>\n<br>\n<h1 style=\"text-align: left;\">sync<span style=\"color: #00b336\">$\\color[rgb]{0,0.67,0.2} 2$</span>folders</h1>\n\n<p style=\"text-align: justify;\">This is a simple program that synchronizes two folders: source and replica. The program maintains a full, identical copy of source folder at replica folder. The program is written in Python.</p>\n\n<p style=\"text-align: justify;\">The program is designed to be run from the command line. It takes four arguments: source folder path, replica folder path, synchronization interval and logs path. The program synchronizes the folders every time the interval expires. The program logs file creation/copying/removal operations to a file and to the console output.</p>\n\n<br>\n\n## **Features**\n\n- [x] Synchronization is one-way: after the synchronization content of the replica folder is modified to exactly match content of the source folder;\n- [x] Synchronization is performed periodically;\n- [x] File creation/copying/removal operations are logged to a file and to the console output;\n- [x] Folder paths, synchronization interval and log file path are provided using the command line arguments;\n\n<br>\n\n## **Quick Start**\n<details>\n  <summary><h2><strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get The Script From Git Hub Repo</strong></h2></summary>\n\nInside a folder of your choice, clone the repository from command line:\n\n```bash\ngit clone https://github.com/ivanSantos16/sync2folders\n```\n\nYou can run the program from the command line and ask for help with the script variables:\n\n```bash\npython sync2folders -h                                                                             \n\nusage: synchronisation.py [-h] -s SOURCE -r REPLICA -p PERIOD -l LOGS\n\nSynchronizes two folders: source and replica\n\noptions:\n  -h, --help            show this help message and exit\n  -s SOURCE, --source SOURCE\n                        Source folder path\n  -r REPLICA, --replica REPLICA\n                        Replica folder path\n  -p PERIOD, --period PERIOD\n                        Period of time in seconds between each synchronization\n  -l LOGS, --logs LOGS  Logs file path\n```\n\n<br>\n\n### Arguments Description\n- `source` : Source folder path (required) [string]\n- `replica` : Replica folder path (required) [string]\n- `period` : Period of time in seconds between each synchronization (required) [int]\n- `logs` : Logs file path (required) [string]\n\n<br>\n\n### Different examples of running the program.\n\nFirst example:\n\n```bash\npython sync2folders -s <source_folder_path> -r <replica_folder_path> -p <sync_interval> -l <log_file_path>\n```\n\n```bash\npython sync2folders -s source -r replica -p 10 -l logs/logs.txt\n```\n<br>\n\nSecond example:\n\n```bash\npython sync2folders --source <source_folder_path> --replica <replica_folder_path> --period <sync_interval> --logs <log_file_path>\n```\n\n```bash\npython sync2folders --source source --replica replica --period 10 --logs logs/logs.txt\n```\n</details>\n  \n<details open>\n<summary><h2><strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get The Script From Pypi</strong></h2></summary>\n\n\nFrom command line, install the package with pip:\n\n```bash\npython -m pip install sync2folders\n```\n\nFrom anywhere, you can run the program from the command line and ask for help with the script variables:\n\n```bash\npython -m sync2folders -h                                                 \n\nusage: synchronisation.py [-h] -s SOURCE -r REPLICA -p PERIOD -l LOGS\n\nSynchronizes two folders: source and replica\n\noptions:\n  -h, --help            show this help message and exit\n  -s SOURCE, --source SOURCE\n                        Source folder path\n  -r REPLICA, --replica REPLICA\n                        Replica folder path\n  -p PERIOD, --period PERIOD\n                        Period of time in seconds between each synchronization\n  -l LOGS, --logs LOGS  Logs file path\n```\n\n<br>\n\n### Arguments Description\n- `source` : Source folder path (required) [string]\n- `replica` : Replica folder path (required) [string]\n- `period` : Period of time in seconds between each synchronization (required) [int]\n- `logs` : Logs file path (required) [string]\n\n<br>\n\n### Different examples of running the program.\n\nFirst example:\n\n```bash\npython -m sync2folders -s <source_folder_path> -r <replica_folder_path> -p <sync_interval> -l <log_file_path>\n```\n\n```bash\npython -m sync2folders -s source -r replica -p 10 -l logs/logs.txt\n```\n<br>\n\nSecond example:\n\n```bash\npython -m sync2folders --source <source_folder_path> --replica <replica_folder_path> --period <sync_interval> --logs <log_file_path>\n```\n\n```bash\npython -m sync2folders --source source --replica replica --period 10 --logs logs/logs.txt\n```\n</details open>\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Synchronizes source and replica folders",
    "version": "1.0.2",
    "split_keywords": [
        "sync",
        "folders",
        "synchronize"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "30ee80393e3411579b1e2fb8e9fcd62cda85c5a29f698e7a2297ff818fbad08c",
                "md5": "977be4972ee2f3d584a9146b4721ae1d",
                "sha256": "a085af87fd6f549e9682ff7042637e87b7aad076bd83ac7c4ad0c6571294742f"
            },
            "downloads": -1,
            "filename": "sync2folders-1.0.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "977be4972ee2f3d584a9146b4721ae1d",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 9120,
            "upload_time": "2023-02-11T16:30:15",
            "upload_time_iso_8601": "2023-02-11T16:30:15.097820Z",
            "url": "https://files.pythonhosted.org/packages/30/ee/80393e3411579b1e2fb8e9fcd62cda85c5a29f698e7a2297ff818fbad08c/sync2folders-1.0.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8646080bdce4d496c2f413dd510ee22ecb960896b31b63ed133e3a1fff6f86b9",
                "md5": "982ffcde6b6acbb4d213b0d21233ea7c",
                "sha256": "cf5a8d91b776433b17c151fb86b43c44bbbbc6f8e3b72c4530de87dbbecc90db"
            },
            "downloads": -1,
            "filename": "sync2folders-1.0.2.tar.gz",
            "has_sig": false,
            "md5_digest": "982ffcde6b6acbb4d213b0d21233ea7c",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 6776,
            "upload_time": "2023-02-11T16:30:17",
            "upload_time_iso_8601": "2023-02-11T16:30:17.046599Z",
            "url": "https://files.pythonhosted.org/packages/86/46/080bdce4d496c2f413dd510ee22ecb960896b31b63ed133e3a1fff6f86b9/sync2folders-1.0.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-02-11 16:30:17",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "github_user": "ivanSantos16",
    "github_project": "sync2folders",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "sync2folders"
}
        
Elapsed time: 0.08505s