- State caching
- Real-Time file monitoring with Inotify
- Resumable uploads
- OneDrive for business is not supported
- While local changes are uploaded right away, remote changes are delayed.
- No GUI
sudo apt-get install libcurl-dev
sudo apt-get install libsqlite3-dev
sudo wget http://master.dl.sourceforge.net/project/d-apt/files/d-apt.list -O /etc/apt/sources.list.d/d-apt.list
wget -qO - http://dlang.org/d-keyring.gpg | sudo apt-key add -
sudo apt-get update && sudo apt-get install dmd-bin
git clone git@github.com:skilion/onedrive.git
cd onedrive
make
sudo make install
You should copy the default config file into your home directory before making changes:
mkdir -p ~/.config/onedrive
cp /usr/local/etc/onedrive.conf ~/.config/onedrive/config
Available options:
client_id
: application identifier necessary for the authenticationsync_dir
: directory where the files will be syncedskip_file
: any files that match this pattern will be skipped during syncskip_dir
: any directories that match this pattern will be skipped during sync
Pattern are case insensitive.
*
and ?
wildcards characters are supported.
Use |
to separate multiple patterns.
The first time you run the program you will be asked to sign in. The procedure requires a web browser.
If you want to sync your files automatically, enable and start the systemd service:
systemctl --user enable onedrive
systemctl --user start onedrive
To see the logs run:
journalctl --user-unit onedrive -f
onedrive [OPTION]...
no option Sync and exit.
-m --monitor Keep monitoring for local and remote changes.
--resync Forget the last saved state, perform a full sync.
-v --verbose Print more details, useful for debugging.
-h --help This help information.
- After changing the filters (
skip_file
orskip_dir
in your configs) you must executeonedrive --resync
- Windows naming conventions apply
- Use
make debug
to generate an executable for debugging