Backing up InteLIS to a Windows Machine (Same Network)¶
Keep a copy of InteLIS in a shared folder on a Windows PC, updated automatically every 8 hours. No software is installed on Windows.
One script sets up every kind of backup destination. This guide covers sending the backup to a Windows shared folder. To send it to another Linux machine instead, see Backing up to Another Linux Machine.
How it works
The Windows folder is mounted onto the Linux server like a local disk. The
server copies InteLIS into it with rsync. Only changed files are copied
each time, so backups after the first one are fast.
Part A: Prepare the Windows machine (one time)¶
Do these five things on the Windows PC first. They take about five minutes.
1. Create the backup folder¶
Create a folder, for example:
C:\InteLIS-Backups
2. Share the folder¶
- Right-click the folder, then choose Properties, Sharing, Advanced Sharing.
- Tick Share this folder.
- Set the Share name to
InteLIS-Backups. The name must not contain spaces. - Click Permissions, then give the backup user (created next) Change and Read.
- Click OK on all windows.
3. Create a dedicated Windows user for backups¶
Do not use a personal login. Create a separate local account:
- Press
Win + R, typelusrmgr.msc, then press Enter. - Under Users, right-click, then choose New User.
- Set the username to
lisbackup. Set a strong password. - Untick User must change password. Tick Password never expires.
- Create the user, then grant it access to the share as in step 2.4 above.
4. Give the Windows machine a fixed IP address¶
The Linux server needs to find the same address every time. Set a static IP on
the Windows PC, or reserve its IP in the router's DHCP settings. Note the
address down, for example 192.168.1.50.
5. Allow file sharing through the firewall¶
Open Control Panel, then Windows Defender Firewall, then Allow an app. Confirm that File and Printer Sharing is ticked for Private networks.
Part B needs three things from this part:
| What | Example |
|---|---|
| Windows IP address | 192.168.1.50 |
| Share name | InteLIS-Backups |
| Username and password | lisbackup and its password |
Part B: Set up the InteLIS server¶
On the InteLIS server, run:
intelis backup setup
If intelis is not recognised
The installation predates the command. Fetch the script directly instead:
cd ~
wget -O remote-backup.sh https://raw.githubusercontent.com/deforay/intelis/master/scripts/remote-backup.sh
sudo chmod u+x remote-backup.sh
sudo ./remote-backup.sh
The script asks these questions:
| Question | Answer |
|---|---|
| Lab name or lab code | A short name for this lab, such as centrallab |
| InteLIS folder path | Press Enter to accept the detected path |
| Where should the backup be sent | 2 for a Windows shared folder |
| Windows hostname or IP | The address from Part A |
| Name of the shared folder | InteLIS-Backups |
| Windows username and password | The account from Part A |
The script works out which SMB version the Windows machine speaks. There is nothing to choose.
Wrong answers do not end the script. It reports the problem and asks again.
Confirm it worked¶
The script runs the first backup before it finishes, and reports the result. To check again at any time:
intelis backup status
A working setup looks like this:
Lab : centrallab (centrallab-3f9a2b1c)
Backing up to : //192.168.1.50/InteLIS-Backups -> /mnt/intelis-backup/backups/centrallab-3f9a2b1c
Last good backup: 2026-08-07T09:14:22Z (12 minutes ago)
Size on backup : 4.2G
Last attempt : succeeded in 96s
Schedule : every 8 hours and after every restart
If the last good backup is more than a day old, the status output says so.
Where the backup lands¶
Each installation gets its own folder, named after the lab and a short identifier unique to that machine:
C:\InteLIS-Backups\backups\centrallab-3f9a2b1c\
Two labs that choose the same name still get separate folders. One lab can never overwrite another lab's backup.
The backup holds the whole InteLIS folder, including the database dumps written
to backups/db every 6 hours. It leaves out files that are rebuilt on install:
vendor/, caches, logs, and version-control folders.
Commands¶
| Task | Command |
|---|---|
| Check the last backup | intelis backup status |
| Test the connection without copying | intelis backup test |
| Back up right now | intelis backup |
| Watch a backup as it runs | tail -f /var/log/intelis-backup.log |
| Stop the scheduled backups | intelis backup disable |
| Start them again | intelis backup enable |
| Change any setting | Re-run intelis backup setup |
Getting the backup back¶
Troubleshooting¶
Could not connect to the share
Confirm the Windows PC is on and reachable. Run ping 192.168.1.50. Re-check
the share name and the username and password. Confirm that File and Printer
Sharing is allowed through the Windows firewall.
Connected, but the folder is read-only
The Windows user needs the Change permission on the share, not only Read. See Part A, steps 2 and 3.
Share name has spaces
A share name with spaces breaks the Linux mount. The script refuses it.
Re-share the folder with a name such as InteLIS-Backups.
The newest database dump is more than 24 hours old
The scheduled job that dumps the database has stopped. The file copy still
works, so the backup looks healthy while the data inside it goes stale. Check
that cron.sh is in the crontab on the InteLIS server.
One copy is not a disaster-recovery plan
A Windows PC in the same room as the server does not survive a fire, a theft, or a ransomware attack. Add an off-site copy as well. See Backing up to Google Drive with Rclone.
The old script still works
remote-backup-windows.sh now fetches and runs remote-backup.sh. Choose
option 2 when it asks where the backup should go.