{"id":16211084,"url":"https://github.com/duckboss/filesync","last_synced_at":"2025-09-07T16:35:14.780Z","repository":{"id":154810907,"uuid":"266421906","full_name":"DuckBoss/FileSync","owner":"DuckBoss","description":"A directory/file syncing program with batched multi-core support","archived":false,"fork":false,"pushed_at":"2020-05-31T04:10:02.000Z","size":79,"stargazers_count":7,"open_issues_count":2,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-03T01:07:03.320Z","etag":null,"topics":["backup","filesync","python","sftp"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DuckBoss.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":null,"patreon":null,"open_collective":null,"ko_fi":"jasonjerome","tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":["paypal.me/JJerome999"]}},"created_at":"2020-05-23T21:23:56.000Z","updated_at":"2024-06-28T09:03:09.000Z","dependencies_parsed_at":"2023-07-17T15:57:39.239Z","dependency_job_id":null,"html_url":"https://github.com/DuckBoss/FileSync","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/DuckBoss/FileSync","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DuckBoss%2FFileSync","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DuckBoss%2FFileSync/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DuckBoss%2FFileSync/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DuckBoss%2FFileSync/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DuckBoss","download_url":"https://codeload.github.com/DuckBoss/FileSync/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DuckBoss%2FFileSync/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274064567,"owners_count":25216337,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-07T02:00:09.463Z","response_time":67,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["backup","filesync","python","sftp"],"created_at":"2024-10-10T10:45:34.672Z","updated_at":"2025-09-07T16:35:14.736Z","avatar_url":"https://github.com/DuckBoss.png","language":"Python","funding_links":["https://ko-fi.com/jasonjerome","paypal.me/JJerome999"],"categories":[],"sub_categories":[],"readme":"# FileSync\nA directory/file syncing program with multi-core support.\n\n![GitHub release (latest by date)](https://img.shields.io/github/v/release/DuckBoss/FileSync)\n\n## Features\n- Sync directories/files to other local directories or networked directories with SFTP\n- Live scans to detect changes in source files to automatically re-sync destination files\n- Sync to multiple local or networked directories (mirrors source files to multiple directories)\n- Optional batched multi-core support\n- Optionally ignore specific directories/files during synchronization\n- Support for crc32, adler32, md5, sha1, sha224, sha256, sha384, sha512 checksums\n\n## Usage\n---\n#### Step 1) Setup the settings.ini file\nYou can either manually create the settings.ini file based on the provided one, or generate one using the setup utility.\u003cbr\u003e\n1. **Running the setup utility for settings.ini:**\u003cbr\u003e\nRun the python module with the following launch parameter:  \n`--setup`\n2. **Manually setup settings.ini:**\u003cbr\u003e\nOpen the settings.ini file provided in the repository and modify the data as needed.\n\n#### Step 2) After setting up the settings.ini file, run the program:\n- As a module: \n`python FileSync/`\n---\n\n## Optional Parameters\n```\n--h/--help: Displays all the available commands to the user.\n--setup: Initializes setup mode which provides an interactive settings.ini creation utility\n--debug: Enables debug print messages.\n--quiet: Suppresses all standard output messages. This is preferable for a headless environment.\n--benchmark: Enables benchmarking file/directory processes.\n--no-live-scan: Disables live scanning for changes in the directories which makes the program only sync once.\n--multi: Enables multi-core processing (not recommended for small directories).\n--batch-size \u003cint\u003e: Sets the batch size for multi-core processing, if enabled (recommended - 100+ for large quantities of data)\n--scan-interval \u003cint\u003e: Sets the time interval in seconds between directory scans (recommended - 2-5s)\n--clear-targets: Clears destination directories before starting synchronizations\n--hash \u003calgorithm\u003e: Sets the hashing algorithm to use for checksums (recommended - sha256).\n        Supported hashing algorithms: [adler32, crc32, md5, sha1, sha224, sha256, sha384, sha512]\n--use-sftp: Enables SFTP server connectivity (use with --username/--password command)\n--username: Sets the username for sftp server communication\n--password: Sets the password for sftp server communication\n```\n\n## Requirements\n- Python 3.7+\n- paramiko (only if SFTP is used)\n\n### Installing Dependencies\n```\npip install -r requirements.txt\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fduckboss%2Ffilesync","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fduckboss%2Ffilesync","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fduckboss%2Ffilesync/lists"}