The command line option
--sync is similar to --batchmode in that it performs tasks, then exits. Unlike --batchmode, however, it only backs up and updates sync folders.
For example, you want to run your program Foobar.py upon logging in, but Foobar.py relies on a data file in a SpiderOak ONE sync being up to date. The obvious solution is to run --batchmode before calling Foobar.py, but that could take a long time, needlessly delaying your program's launch. Better, use --sync so that ONE does only what is immediately needed. You might want to then run --batchmode or --headless after or concurrent with your program, so that ONE does the other work that needs to be done in the background. Thus:
SpiderOakONE --sync Foobar.py & SpiderOakONE --headless