{"id":18841973,"url":"https://github.com/ahmetozer/mirrorfy","last_synced_at":"2026-05-10T02:42:25.794Z","repository":{"id":136065569,"uuid":"258192461","full_name":"ahmetozer/mirrorfy","owner":"ahmetozer","description":"Mirrorfy is a rsync control script. It listens to your project directory and uploads your projects to your server for every change. One way sync system.","archived":false,"fork":false,"pushed_at":"2021-04-03T23:11:52.000Z","size":145,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-12-30T10:51:09.962Z","etag":null,"topics":["bash","file-sharing","linux","rsync","rsync-backup","sync","synchronization"],"latest_commit_sha":null,"homepage":"https://ahmetozer.org/Push-files-to-server-every-change-Alternative-use-samba-or-ftp-to-realtime-sync.html","language":"Shell","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/ahmetozer.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"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}},"created_at":"2020-04-23T12:17:29.000Z","updated_at":"2021-05-22T00:56:56.000Z","dependencies_parsed_at":null,"dependency_job_id":"b4b24aab-3a83-4f93-89da-730a210086cc","html_url":"https://github.com/ahmetozer/mirrorfy","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahmetozer%2Fmirrorfy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahmetozer%2Fmirrorfy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahmetozer%2Fmirrorfy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahmetozer%2Fmirrorfy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ahmetozer","download_url":"https://codeload.github.com/ahmetozer/mirrorfy/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239780120,"owners_count":19695734,"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","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":["bash","file-sharing","linux","rsync","rsync-backup","sync","synchronization"],"created_at":"2024-11-08T02:53:15.353Z","updated_at":"2026-01-30T15:30:14.574Z","avatar_url":"https://github.com/ahmetozer.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# mirrorfy\n\nThis project created for manage rsync directories.\nIt's upload files to server every change.\n\n## install\n\nCurrently Supports most of the linux computers, WSL1  \nTested on WSL1 Ubuntu and Debian.\n\nCurrently WSL2 not supported.\n```Bash\nsudo curl https://mirrorfy.ahmetozer.org/mirrorfy -o /usr/bin/mirrorfy\nsudo chmod +x /usr/bin/mirrorfy\n```\n\n## install dependencies\n```bash\n# For ubuntu or Ubuntu on WSL\nsudo apt install inotify-tools openssh rsync screen\n```\n\n## Commands\n\n### start\n`mirrorfy start`\n  Start mirrorfy daemon.  \n  It watchs your directories and every change uploads your directory to remote\n  location.\n\n### run\n`mirrorfy run`\n  Run your mirrorfy only once.  \n  Upload all mirrorfy directories to remote servers.\n\n### list\n`mirrorfy list`\n  List your all directories in config.\n\n### add\n`mirrorfy add`\n  Add locations to mirrorfy config list.\n  This functions has a some flags. Some ones required and showed with **\u003cspan style=\"color:#FC427B\"\u003ebold\u003cspan/\u003e**.\n- **\u003cspan style=\"color:#FC427B\"\u003e-n\u003cspan/\u003e**  \nConfig name.  \nEx. `mirrorfy add -n project1`\n- **\u003cspan style=\"color:#FC427B\"\u003e-a\u003cspan/\u003e**  \nRemote server address. You can also define custom user.\nEx. `mirrorfy add -a 1.1.1.1` `mirrorfy add -a ahmet@1.1.1.1`\n- **\u003cspan style=\"color:#FC427B\"\u003e-d\u003cspan/\u003e**  \nRemote server directory  \nEx. `mirrorfy add -d /my/remote/directory`\n- -l  \nLocal directory.\nIf it is not defined, program will be select current working directory.  \nEx. `mirrorfy add -l /my/sync/dir`\n- -p  \nCustom ssh port.\nNormally ssh uses port number 22 but if you changed to another port, you have to inform about to program with -p flag.  \nEx. `mirrorfy add -p 422`\n- -r   \nCustom rsync arguments.\nMirrorfy  is uses \"-avzhp --delete\" arguments for rsync, but if you want to use custom arguments you can define with -r flag. **Note:** Do not forget to use **\"** while writing rsync arguments.  \nEx. `mirrorfy add -r \"-avzhp\"`\n\n#### **Example Commands**\n```bash\nmirrorfy add -n myproject1 -a mirrorfy.ahmetozer.org -d /my/remote/dir\nmirrorfy add -n myproject1 -a ahmet@mirrorfy.ahmetozer.org -d /my/remote/dir -p 68\nmirrorfy add -n myproject1 -a sync@mirrorfy.ahmetozer.org -d /my/remote/dir -l /my/local/dir/\nmirrorfy add -n myproject1 -a mirrorfy.ahmetozer.org -d /my/remote/dir -p 99 -l /my/local/directory/\n```\n\n### service\n`mirrorfy service` You can control mirrorfy service on your linux or windows machine\n- start  \nStart mirrorfy service\n- stop  \nStop mirrorfy service\n- restart  \nRestart mirrorfy service\n- register  \nAdd mirrorfy to startup in linux or Create task in Windows\n- unregister  \nDelete mirrorfy at startup in linux or Delete task in Windows\n\n\n## Add startup\n\n### Linux\nRun `mirrorfy service register` to add mirrorfy startup folder.\n\n### Windows\n\nRun cmd as Administrator and enter to WSL enviroment with wsl command, then execute `mirrorfy service register` command to register Mirrorfy service on windows.\n\n\n---\n**Note:**\nYou have to create SSH keys on your pc and upload this keys to your server.\nAfter uploading ssh key, Please make test connection to your server before adding mirrorfy. You can found more information to creating ssh key and upload, Please visit  [ahmetozer.org](https://ahmetozer.org/Push-files-to-server-every-change-Alternative-use-samba-or-ftp-to-realtime-sync.html)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fahmetozer%2Fmirrorfy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fahmetozer%2Fmirrorfy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fahmetozer%2Fmirrorfy/lists"}