Use case: I have a Tiki on ClearOS. and I want automatic backups of that Tiki to my local computer for safekeeping. These are high level instructions as to how to combine TRIM and Syncthing to do so.
An alternate scenario is a web host where several Tikis are hosted. These Tikis are for distinct projects/customers
The webhost should be able to backup all sites via TRIM. This is set up once per server (Syncthing fetches all TRIM backups)
Each project / customer should get a backup of their data via TRIM. This is a different setup for each site.
Please proceed to: How to install Tiki with TRIM
In this example, we will add an instance named ii.wikisuite.org. TRIM and TIKI are in the same server. Pay attention where to input 127.0.0.1. todo change docs to use make instance with local option
[root@trimclient trim]# make instance php -d memory_limit=256M scripts/addinstance.php Default editor used (nano). You can change the EDITOR environment variable. Default diff used (diff). You can change the DIFF environment variable. Connection type [ssh|ftp] : ssh Host name : 127.0.0.1 Port number : [22] User : root Instance name : [127.0.0.1] ii.wikisuite.org Contact email : your@email.com Instance information saved. /usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed /usr/bin/ssh-copy-id: WARNING: All keys were skipped because they already exist on the remote system. Testing connection... After successfully entering your password, were you asked for a password again? [yes|no] no Detecting remote configuration. You are running on a ClearOS Web root : [/var/www/virtual/127.0.0.1/] /var/www/virtual/ii.wikisuite.org Web URL : [http://127.0.0.1] http://ii.wikisuite.org/ Working directory : [/tmp/trim_temp] Instance information saved. PHP Notice: Undefined offset: 1 in /root/trim/src/rclib.php on line 70 Detected SVN : branches/15.x [root@trimclient trim]#
You can backup as always.
[root@trimclient trim]# make backup bash scripts/backup.sh php -d memory_limit=256M php which: no cpulimit in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin) dont use cpulimit Default editor used (nano). You can change the EDITOR environment variable. Default diff used (diff). You can change the DIFF environment variable. Note: Backups are only available on SSH instances. Which instances do you want to backup? [2] vv.wikisuite.org m@example.org [3] ii.wikisuite.org your@example.org >>> 3 Performing backup for ii.wikisuite.org Downloading files locally. RSYNC Return var: 0 Obtaining database dump. Creating archive. Return var: 0 [root@trimclient trim]#
https://doc.tiki.org/TRIM#To_setup_automated_backups
We will use the PIPE from the Linux bash in order to inject the desired number. In this case, it is the number 3.
[root@trimclient trim]# echo 3 | make backup bash scripts/backup.sh php -d memory_limit=256M php which: no cpulimit in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin) dont use cpulimit Default editor used (nano). You can change the EDITOR environment variable. Default diff used (diff). You can change the DIFF environment variable. Note: Backups are only available on SSH instances. Which instances do you want to backup? [2] vv.wikisuite.org m@example.org [3] ii.wikisuite.org your@example.org Performing backup for ii.wikisuite.org Downloading files locally. RSYNC Return var: 0 Obtaining database dump. Creating archive. Return var: 0
As you see, no human interaction was needed.
You may want to install this in a cronjob, to do it every day at noon, do the following.
echo '0 0 * * * pushd /root/trim/ && echo 3 | make backup && popd' > /etc/cron.d/trim-ii.wikisuite.org-backup
The TRIM folder to backup is /root/trim/backup/archive
Make sure Syncthing automatically restarts when you reboot so that you have unattended automatic backups. Just reboot to see if it's OK. If not, you need to look up the documentation for your Operating System.