Rsync#
Rsync upload to a running task in your workflow from your local machine using rsync command.
For detailed CLI options, see osmo workflow rsync.
Caution
We currently do not support deleting files/directories in a workflow.
Hint
If task is not provided, the upload will be to the lead task of the first group.
Hint
/osmo/run/workspace is always available as a remote path.
Daemon#
The rsync command will start a daemon that will upload the files/directories to the task continuously.
$ osmo workflow rsync wf-id ~/my/path:/osmo/run/workspace
Rsync daemon started in detached process: PID 80754
To view daemon logs: tail -f ~/.local/state/osmo/rsync/rsync_daemon_wf-id_task-name.log
Logs#
The daemon will output logs to the designated log file.
$ tail -f ~/.local/state/osmo/rsync/rsync_daemon_wf-id_task-name.log
2025-05-29 10:38:04,517 - 26720 - rsync.py:854 - osmo.rsync - INFO - Starting rsync daemon...
2025-05-29 10:38:04,521 - 26720 - rsync.py:947 - osmo.rsync - INFO - Polling task...
2025-05-29 10:38:04,666 - 26720 - rsync.py:980 - osmo.rsync - INFO - Task is in running state...
2025-05-29 10:38:04,672 - 26720 - rsync.py:377 - osmo.rsync - INFO - Starting rsync client...
2025-05-29 10:38:04,672 - 26720 - rsync.py:553 - osmo.rsync - INFO - Starting rsync port forwarding...
2025-05-29 10:38:05,421 - 26720 - rsync.py:433 - osmo.rsync - INFO - Uploading /my/path
2025-05-29 10:38:05,947 - 26720 - rsync.py:482 - osmo.rsync - INFO - Rsync upload completed successfully for wf-id/task-name
2025-05-29 10:39:17,517 - 26720 - rsync.py:736 - osmo.rsync - INFO - Path event handler (/my/path) detected changes...
2025-05-29 10:39:55,121 - 26720 - rsync.py:433 - osmo.rsync - INFO - Uploading /my/path
2025-05-29 10:39:55,694 - 26720 - rsync.py:482 - osmo.rsync - INFO - Rsync upload completed successfully for wf-id/task-name
Status#
To get the status of all rsync daemons, you can use the osmo workflow rsync --status command.
$ osmo workflow rsync --status
Workflow ID Task Name PID Status Last Synced Source Path Destination Path Log File
=======================================================================================================================================================================
wf-id task-name 26720 RUNNING 2025-05-29T10:39:55.696803 /my/path /osmo/run/workspace ~/.local/state/osmo/rsync/rsync_daemon_wf-id_task-name.log
Stopping daemon(s)#
To stop a specific daemon, you can use the osmo workflow rsync wf-id task-name --stop command.
To stop all daemons for a workflow, you can use the osmo workflow rsync wf-id --stop command.
Finally, to stop all daemons, you can use the osmo workflow rsync --stop command.
$ osmo workflow rsync --stop
Are you sure you want to stop all running daemons?
* wf-id_1/task-name
* wf-id_2/task-name
[y/N] y
Stopping rsync daemon wf-id_1/task-name
Stopping rsync daemon wf-id_2/task-name