https://github.com/matheusfillipe/psync
Simple and customizable file/directory synchronization daemon that uses rsync and supports remote servers with ssh
https://github.com/matheusfillipe/psync
backup pip python python3 rsync sync synchronization
Last synced: 4 months ago
JSON representation
Simple and customizable file/directory synchronization daemon that uses rsync and supports remote servers with ssh
- Host: GitHub
- URL: https://github.com/matheusfillipe/psync
- Owner: matheusfillipe
- License: mit
- Created: 2021-06-26T23:19:53.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2021-06-26T23:38:38.000Z (over 4 years ago)
- Last Synced: 2025-03-14T02:21:14.300Z (10 months ago)
- Topics: backup, pip, python, python3, rsync, sync, synchronization
- Language: Python
- Homepage:
- Size: 2.93 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Rsync wrapper using argparse, rsync and schedule reading from .ssh/config and works locally too.
# Installation
`pip install psync`
# How does it work like
Creates a pidfile at run while running, sigint to delete it. Not launch if running.
Reads config create sources list of objs default . Update server name.
Interface class and implementation for ssh and local types.
Check ssh config or read from hostname port.
Runs checking times and spawns threads for given object types.
# Config
Example:
```toml
[default]
type = "ssh"
ssh_command = "ssh -J proxyJumpServer {server}"
ssh_config = "~/.ssh/config"
hour = 0
day = 0
week = "*"
month = "*"
exclude_folder_bigger_than = "20M"
exclude_file_bigger_than = "1G"
[localhost]
type = "local"
from = "~/Projects"
to = "/media/matheus/Elements/Backups/Projects"
exclude = ["vent/", "pycache"]
[deserver]
type = "remote"
from = "~/Projects/p1"
to = "/media/matheus/Elements/Backups/Projects/drserver/p1"
exclude = ["vent/", "pycache"]