{"action":"created","issue":{"url":"https://api.github.com/repos/borgbackup/borg/issues/1811","repository_url":"https://api.github.com/repos/borgbackup/borg","labels_url":"https://api.github.com/repos/borgbackup/borg/issues/1811/labels{/name}","comments_url":"https://api.github.com/repos/borgbackup/borg/issues/1811/comments","events_url":"https://api.github.com/repos/borgbackup/borg/issues/1811/events","html_url":"https://github.com/borgbackup/borg/issues/1811","id":187573084,"number":1811,"title":"Add rsync protocol support","user":{"login":"lorddaedra","id":947642,"avatar_url":"https://avatars.githubusercontent.com/u/947642?v=3","gravatar_id":"","url":"https://api.github.com/users/lorddaedra","html_url":"https://github.com/lorddaedra","followers_url":"https://api.github.com/users/lorddaedra/followers","following_url":"https://api.github.com/users/lorddaedra/following{/other_user}","gists_url":"https://api.github.com/users/lorddaedra/gists{/gist_id}","starred_url":"https://api.github.com/users/lorddaedra/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lorddaedra/subscriptions","organizations_url":"https://api.github.com/users/lorddaedra/orgs","repos_url":"https://api.github.com/users/lorddaedra/repos","events_url":"https://api.github.com/users/lorddaedra/events{/privacy}","received_events_url":"https://api.github.com/users/lorddaedra/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":3,"created_at":"2016-11-06T16:45:12Z","updated_at":"2016-11-06T19:31:32Z","closed_at":null,"body":"Short description: adapt rsync algorithm to service us.\r\n\r\nProblem: if we can not install borg client on target server, we can use sshfs to connect to this server but it take extremely long time to backup something from this server, it's impossible to wait some days for completing backup operation, another solution is split backup task to two subtasks: rsync to local folder, backup to borg repository from this local folder, in this case we need double disk space (we need space for local folder and for borg repository), so it's not good solution too.\r\n\r\nSuggestion: we can adapt librsync (http://librsync.sourcefrog.net/ , https://github.com/librsync/librsync ) or tools, which use librsync ( https://github.com/pgodel/rdiff-backup ) as suggested in this blog article https://translate.google.com/translate?sl=ru&tl=en&js=y&prev=_t&hl=ru&ie=UTF-8&u=http%3A%2F%2Fwebenterprise.ru%2Frsync-with-python%2F&edit-text= (it may be faster to implement and later replace rdiff-backup dependency to librsync dependency). \r\n\r\nWe can use Python Wheels if we would like to save end user from any installation steps of librsync...\r\n"},"comment":{"url":"https://api.github.com/repos/borgbackup/borg/issues/comments/258704151","html_url":"https://github.com/borgbackup/borg/issues/1811#issuecomment-258704151","issue_url":"https://api.github.com/repos/borgbackup/borg/issues/1811","id":258704151,"user":{"login":"lorddaedra","id":947642,"avatar_url":"https://avatars.githubusercontent.com/u/947642?v=3","gravatar_id":"","url":"https://api.github.com/users/lorddaedra","html_url":"https://github.com/lorddaedra","followers_url":"https://api.github.com/users/lorddaedra/followers","following_url":"https://api.github.com/users/lorddaedra/following{/other_user}","gists_url":"https://api.github.com/users/lorddaedra/gists{/gist_id}","starred_url":"https://api.github.com/users/lorddaedra/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lorddaedra/subscriptions","organizations_url":"https://api.github.com/users/lorddaedra/orgs","repos_url":"https://api.github.com/users/lorddaedra/repos","events_url":"https://api.github.com/users/lorddaedra/events{/privacy}","received_events_url":"https://api.github.com/users/lorddaedra/received_events","type":"User","site_admin":false},"created_at":"2016-11-06T19:31:32Z","updated_at":"2016-11-06T19:31:32Z","body":"Sorry, english is not my native language. \r\n\r\nI mean here, if we have two alternatives: \r\n\r\n**a. )** run both commands:\r\n\r\n ```\r\n\"rsync --progress \\\r\n    -aicvzh \\\r\n    --partial \\\r\n    --append \\\r\n    --rsh=ssh -e 'ssh -i ~/.ssh/id_rsa' {user}@{host}:{directory} {temp_directory_local}\".format(...)\r\n``` \r\n\r\nplus \r\n```\r\n\"\"\"docker run -ti --rm \\\r\n    -v {repository_root_local}:/repository \\\r\n    -v {temp_directory_local}:/incoming \\\r\n    -v {borg_cache_directory}:/cache \\\r\n    -e BORG_PASSPHRASE='{borg_passphrase}' \\\r\n    -e BORG_CACHE_DIR='/cache' {IMAGE_NAME} \\\r\n    /bin/bash -c \" borg create --verbose --stats --progress --list --compression lzma,9 /repository::{backup_name}  /incoming/* \" \"\"\"\r\n                 .format(...)\r\n```\r\n\r\nor \r\n\r\n**b.)** run only second command (but use sshfs directory instead of {temp_directory_local})\r\n\r\nthen **a.)** looks much better despite the fact, it require more disk space because of **b.)** is really slow. \r\n\r\nAnd will be good to somehow find solution, where combined good disk space requirements and good performance (may be hours, but not days of total time for backup task).\r\n\r\nYes, I mean rsync protocol over SSH .."}}
{"actor":{"display_login":"lorddaedra"}}