Extract resilio-sync_xxx.tar
for your architecture
Copy rslsync
to /usr/bin/
or create a symlink
Now you can manually run rslsync in the terminal
continue reading for automation
Create a .config/resilio-sync
folder in $USER
$HOME
with the structure below
.
├── config.json # create with `touch` command
├── storage # mkdir this
│ └── ... # populated automatically
└── sync.pid # created automatically
Include the contents below
{
"storage_path" : "/home/lakith/.config/resilio-sync/storage",
"pid_file" : "/home/lakith/.config/resilio-sync/sync.pid",
"webui" :
{
"force_https": true,
"listen" : "127.0.0.1:8888"
}
}
Create a unit file in the systemd path /usr/lib/systemd/user/resilio-sync.service
[Unit]
Description=Resilio Sync service
Documentation=https://help.getsync.com/
After=network.target network-online.target
[Service]
Type=forking
Restart=on-failure
PIDFile=%h/.config/resilio-sync/sync.pid
ExecStart=/usr/bin/rslsync --config /home/$USER/.config/resilio-sync/config.json
ExecStartPost=/bin/sleep 1
[Install]
WantedBy=default.target # ensure this is default target for single user
same as the other method
run in the terminal sudo systemctl daemon-reload
to load the unit file
run to enable unit file systemctl --user enable resilio-sync
run to start systemctl --user start resilio-sync
use systemctl --user status resilio-sync
to check the status or any errors.
Ensure proper functionality by restarting the system
by default the localhost:8888
should open up the gui in the browser
Auto Script genarally when deployed with the .deb installation, can be done manually. But untested as of writing this. Use caution.
place these files inside /etc/resilio-sync/
. May need root permission
- config.json
- init_user_config.sh
- user_config.json
{
"storage_path" : "/var/lib/resilio-sync/",
"pid_file" : "/var/run/resilio-sync/sync.pid",
"webui" :
{
"force_https": true,
"listen" : "127.0.0.1:8888"
}
}
This script creates the .config/resilio-sync
folder within $USER
$HOME
#!/bin/sh
mkdir -p $HOME/.config/resilio-sync
BTSYNC_STORAGE=$HOME/.config/btsync/storage
RESILIO_STORAGE=$HOME/.config/resilio-sync/storage
BTSYNC_CONFIG_PATH=$HOME/.config/btsync/config.json
RESILIO_CONFIG_PATH=$HOME/.config/resilio-sync/config.json
if [ -d ${BTSYNC_STORAGE} ] && [ ! -d ${RESILIO_STORAGE} ]; then
# Copy btsync storage folder
cp -r ${BTSYNC_STORAGE} ${RESILIO_STORAGE}
# Copy btsync config if exist
if [ -f ${BTSYNC_CONFIG_PATH} ] && [ ! -f ${RESILIO_CONFIG_PATH}]; then
cp ${BTSYNC_CONFIG_PATH} ${RESILIO_CONFIG_PATH}
sed -i 's$\.config/btsync/storage$\.config/resilio-sync/storage$g' ${RESILIO_CONFIG_PATH}
sed -i 's$\.config/btsync/btsync\.pid$\.config/resilio-sync/sync\.pid$g' ${RESILIO_CONFIG_PATH}
fi
else
mkdir -p ${RESILIO_STORAGE}
fi
if [ ! -f ${RESILIO_CONFIG_PATH} ]; then
sed -e "s|{HOME}|$HOME|g" /etc/resilio-sync/user_config.json > ${RESILIO_CONFIG_PATH}
fi
The below contents will be copied over to .config/resilio-sync
, you may edit as needed
Further information is on the vendor's site
{
"storage_path" : "{HOME}/.config/resilio-sync/storage",
"pid_file" : "{HOME}/.config/resilio-sync/sync.pid",
"webui" :
{
"force_https": true,
"listen" : "127.0.0.1:8888"
}
}
This will need to be pasted into the systemd path /usr/lib/systemd/user/resilio-sync.service
[Unit]
Description=Resilio Sync service
Documentation=https://help.getsync.com/
After=network.target network-online.target
[Service]
Type=forking
Restart=on-failure
PIDFile=%h/.config/resilio-sync/sync.pid
ExecStart=/usr/bin/rslsync --config %h/.config/resilio-sync/config.json
ExecStartPre=/etc/resilio-sync/init_user_config.sh
ExecStartPost=/bin/sleep 1
[Install]
WantedBy=default.target
same as the other method
run in the terminal sudo systemctl daemon-reload
to load the unit file
run to enable unit file systemctl --user enable resilio-sync
run to start systemctl --user start resilio-sync
use systemctl --user status resilio-sync
to check the status or any errors.
Ensure proper functionality by restarting the system
by default the localhost:8888
should open up the gui in the browser