Bash Script Guided Install
On the server management screen within Ottomatik there is a uniquely generated bash script that, when run on your command line, will walk you through the process of setting up your SSH Key and software dependencies. This is by far the easiest way to configure a server to work on Ottomatik. The script does the following:
Install your SSH key while making a backup of the authorized_keys file just in case.
Prompt to install Python if not found
Install Python PIP if not found
Install PIP packages if needed: awscli, certifi, colorama, python-dateutil, features
Detect current user, ssh port, IP address. Post to Ottomatik and automatically test the incoming SSH connection.
Prompt to update MySQL Config for MySQL / MariaDB real-time backups (binlog backups)
Prompt to restart MySQL
Prompts for creating a new MySQL user and permissions to be used for backups
Note: This script makes several webhook requests to Ottomatik and will dynamically update your website UI without your needing to take additional steps.
Pro Tip: If you are adding a decent number of servers being prompted by the script can be time-consuming. If you like, you can add your database name as an additional argument to the script (paste the cmd, add a space, type the db name, hit enter) and not be prompted at all. The script will automatically do the tasks above without prompting you. Note this WILL restart mysql.
Manual Install
If you'd like to avoid having Ottomatik install the backup task dependencies below you can manually install them yourself. Here are some notes on the installation of each requirement.
Install the SSH Key
When you create a server on Ottomatik a SSH public key will be provided. You must append this key to the ~/.ssh/authorized_keys file for each user you'll be using (in the "SSH User" field on the server record) to connect over SSH with when running a backup.
After installing the key, select the "Update Status" button in Ottomatik, shown on the same page where the SSH public key is displayed. Ottomatik will then verify successful ssh connectivity and update the status of the server to "success".
Software Dependencies
Python >= 2.6.5
Most OSs should come with a version of Python that will work, but if not you should definitely do some Googling to find out how to upgrade or install.
This is particularly important for CentOS / Redhat distros since the package installer yum is Python based. You don't want to mess that up.
Python PIP >= 8.1.2
You can download and install the Python package manager PIP with the 2 following commands:
sudo curl "https://bootstrap.pypa.io/get-pip.py" -o "get-pip.py"
sudo python get-pip.py
awscli PIP package >= 1.8.3
This can be installed through Python PIP with the command:
sudo pip install awscli
certifi PIP package >= 2015.04.28
This can be installed through Python PIP with the command:
sudo pip install certifi
colorama PIP package >= 0.2.5
This can be installed through Python PIP with the command:
sudo pip install colorama
python-dateutil PIP package >= 2.4.2
This can be installed through Python PIP with the command:
sudo pip install python-dateutil
futures PIP package >= 3.0.5
This can be installed through Python PIP with the command:
sudo pip install futures
Ubuntu 24.04
You need to pass the --break-system-packages
flag with the pip installation. I know this flag seems severe but it won't break your system packages.