# Backup OneUptime Database ## Setting up Backup Service **Step 1:** SSH into VM Eg: ``` ssh root@ ``` **Step 2:** Copy `backup.sh` and `install.sh` to ~/ Eg: ``` cd ~/ vi backup.sh vi install.sh ``` **Step 3:**: Setup kubectl and kubernetes ``` #Install Kubectl OS_ARCHITECTURE="amd64" if [[ "$(uname -m)" -eq "aarch64" ]] ; then OS_ARCHITECTURE="arm64" ; fi if [[ "$(uname -m)" -eq "arm64" ]] ; then OS_ARCHITECTURE="arm64" ; fi echo "RUNNING COMMAND: curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/$(OS_ARCHITECTURE)/kubectl" curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/$(OS_ARCHITECTURE)/kubectl echo "RUNNING COMMAND: chmod +x ./kubectl" chmod +x ./kubectl echo "RUNNING COMMAND: sudo mv ./kubectl /usr/local/bin/kubectl" sudo mv ./kubectl /usr/local/bin/kubectl # Get kube config. This is specific to digital ocean. doctl kubernetes cluster kubeconfig save ``` **Step 4:** Run install.sh ``` #if this fails use sudo bash install.sh ``` The cron job should be installed and will run once/day! # Force backup now! Run: ``` bash backup.sh ``` # Restore OneUptime Database **Step 1**: Copy restore.sh to root directory. ``` vi restore.sh # Copy the file contents. ``` **Step 2**: Run the restore command ``` bash restore.sh -f .archive ``` **Step 3**: This will copy the file from the VM to remote machine and run the restore.