#!/bin/bash # Variables DATE=$(date +%Y%m%d-%H%M%S) BACKUP_DIR=/backups DIRS_TO_BACKUP="/etc /opt /root /home /var" TAR="${BACKUP_DIR}/GauntMTA Backup ${DATE}.tgz" # pre backup commands crontab -l > /root/crontab.txt # create the backup tar -cpSzf "${TAR}" --exclude="${BACKUP_DIR}" --exclude=/var/cache --exclude=/var/mail ${DIRS_TO_BACKUP} # only keep 14 copies on local disk, seafile will keep deleted history # https://stackoverflow.com/questions/25785/delete-all-but-the-most-recent-x-files-in-bash cd "${BACKUP_DIR}" ls -tp | grep -v '/$' | tail -n +15 | xargs -I {} rm -- {} # sync the backup directory to seafile rclone sync "${BACKUP_DIR}" seafile: :' # this is so ugly, need a better solution for what programs are installed/used and their configurations. # Programs that are installed: # postfix # spamassians # opendkim # opendkim-tools # openvpn # certbot (letsencrypt) # dpkg --get-selections adduser install apache2 deinstall apache2-bin install apache2-data install apache2-doc install apache2-utils install apt install apt-utils install base-files install base-passwd install bash install bind9 install bind9-host install bind9utils install binutils install bsd-mailx install bsdmainutils install bsdutils install busybox-initramfs install bzip2 install ca-certificates install ->certbot install cifs-utils install console-data install coreutils install cpio install cpp install cpp-5 install cracklib-runtime install cron install ->curl install dash install davfs2 install db-util install db5.3-util install debconf install debconf-i18n install debconf-utils install debianutils install dh-python install dialog install diffutils install distro-info-data install dmsetup install dns-root-data install dnsutils install dpkg install dselect install duplicity install e2fslibs:amd64 install ed install expat install fetchmail install file install findutils install finger install fontconfig install fontconfig-config install fonts-dejavu install fonts-dejavu-core install fonts-dejavu-extra install fonts-freefont-ttf install ftp install gawk install gcc install gcc-4.8-base:amd64 install gcc-4.9-base:amd64 install gcc-5 install gcc-5-base:amd64 install gcc-6-base:amd64 install gettext install gettext-base install gir1.2-glib-2.0:amd64 install gnupg install gpgv install grep install groff-base install gzip install hostname install htop install ifupdown install info install init-system-helpers install initramfs-tools install initramfs-tools-bin install initramfs-tools-core install initscripts install insserv install install-info install iproute2 install iptables install iputils-arping install iputils-ping install iputils-tracepath install isc-dhcp-client install isc-dhcp-common install iso-codes install javascript-common deinstall keyutils install klibc-utils install kmod install ldap-utils install less install ->letsencrypt deinstall libacl1:amd64 install libapparmor1:amd64 install libapr1:amd64 install libaprutil1:amd64 install libaprutil1-dbd-sqlite3:amd64 install libaprutil1-ldap:amd64 install libapt-inst2.0:amd64 install libapt-pkg5.0:amd64 install libasan2:amd64 install libasn1-8-heimdal:amd64 install libasprintf0v5:amd64 install libatomic1:amd64 install libattr1:amd64 install libaudit-common install libaudit1:amd64 install libauthen-sasl-perl install libavahi-client3:amd64 install libavahi-common-data:amd64 install libavahi-common3:amd64 install libbind9-140:amd64 install libblkid1:amd64 install libbsd0:amd64 install libbz2-1.0:amd64 install libc-bin install libc-dev-bin install libc6:amd64 install libc6-dev:amd64 install libcap-ng0:amd64 install libcap2:amd64 install libcap2-bin install libcc1-0:amd64 install libcilkrts5:amd64 install libcomerr2:amd64 install libcrack2:amd64 install libcroco3:amd64 install libcryptsetup4:amd64 install libcups2:amd64 install libcurl3:amd64 install libcurl3-gnutls:amd64 install libdb5.3:amd64 install libdbus-1-3:amd64 install libdbus-glib-1-2:amd64 install libdebconfclient0:amd64 install libdevmapper1.02.1:amd64 install libdigest-hmac-perl install libdns-export162 install libdns162:amd64 install libdrm-common install libdrm-intel1:amd64 install libdrm-radeon1:amd64 install libdrm2:amd64 install libedit2:amd64 install libencode-locale-perl install liberror-perl install libestr0 install libevent-2.0-5:amd64 install libexpat1:amd64 install libfdisk1:amd64 install libffi6:amd64 install libfile-copy-recursive-perl install libfile-listing-perl install libfont-afm-perl install libfontconfig1:amd64 install libfreetype6:amd64 install libgcc-5-dev:amd64 install libgcc1:amd64 install libgcrypt20:amd64 install libgdbm3:amd64 install libgeoip1:amd64 install libgirepository-1.0-1:amd64 install libglib2.0-0:amd64 install libgmp10:amd64 install libgnutls-openssl27:amd64 install libgnutls30:amd64 install libgomp1:amd64 install libgpg-error0:amd64 install libgpm2:amd64 install libgssapi-krb5-2:amd64 install libgssapi3-heimdal:amd64 install libhcrypto4-heimdal:amd64 install libheimbase1-heimdal:amd64 install libheimntlm0-heimdal:amd64 install libhogweed4:amd64 install libhtml-form-perl install libhtml-format-perl install libhtml-parser-perl install libhtml-tagset-perl install libhtml-tree-perl install libhttp-cookies-perl install libhttp-daemon-perl install libhttp-date-perl install libhttp-message-perl install libhttp-negotiate-perl install libhx509-5-heimdal:amd64 install libicu55:amd64 install libidn11:amd64 install libio-html-perl install libio-socket-inet6-perl install libio-socket-ssl-perl install libipc-signal-perl install libirs141:amd64 install libisc-export160 install libisc160:amd64 install libisccc140:amd64 install libisccfg140:amd64 install libisl15:amd64 install libitm1:amd64 install libjson-c2:amd64 install libk5crypto3:amd64 install libkeyutils1:amd64 install libklibc install libkmod2:amd64 install libkrb5-26-heimdal:amd64 install libkrb5-3:amd64 install libkrb5support0:amd64 install libldap-2.4-2:amd64 install libldb1:amd64 install liblocale-gettext-perl install liblockfile-bin install liblockfile1:amd64 install liblsan0:amd64 install libltdl7:amd64 install liblua5.1-0:amd64 install liblwp-mediatypes-perl install liblwp-protocol-https-perl install liblwres141:amd64 install liblz4-1:amd64 install liblzma5:amd64 install liblzo2-2:amd64 install libmagic1:amd64 install libmail-spf-perl install libmailtools-perl install libmemcached11:amd64 install libmilter1.0.1:amd64 install libmime-types-perl install libmnl0:amd64 install libmount1:amd64 install libmpc3:amd64 install libmpdec2:amd64 install libmpfr4:amd64 install libmpx0:amd64 install libncurses5:amd64 install libncursesw5:amd64 install libneon27:amd64 install libnet-dns-perl install libnet-http-perl install libnet-ip-perl install libnet-smtp-ssl-perl install libnet-ssleay-perl install libnetaddr-ip-perl install libnettle6:amd64 install libnfnetlink0:amd64 install libnfsidmap2:amd64 install libnih-dbus1:amd64 install libnih1:amd64 install libnl-3-200:amd64 install libnl-genl-3-200:amd64 install libodbc1:amd64 install libopendbx1 install libopendbx1-sqlite3 install libopendkim10 install libp11-kit0:amd64 install libpam-modules:amd64 install libpam-modules-bin install libpam-runtime install libpam0g:amd64 install libpaper1:amd64 install libpcap0.8:amd64 install libpci3:amd64 install libpciaccess0:amd64 install libpcre3:amd64 install libperl5.22:amd64 install libpipeline1:amd64 install libpkcs11-helper1:amd64 install libplymouth4:amd64 install libpng12-0:amd64 install libpopt0:amd64 install libproc-waitstat-perl install libprocps4:amd64 install libpython-stdlib:amd64 install libpython2.7:amd64 install libpython2.7-minimal:amd64 install libpython2.7-stdlib:amd64 install libpython3-stdlib:amd64 install libpython3.5:amd64 install libpython3.5-minimal:amd64 install libpython3.5-stdlib:amd64 install libquadmath0:amd64 install librbl1 install libreadline6:amd64 install libroken18-heimdal:amd64 install librsync1:amd64 install librtmp1:amd64 install libsasl2-2:amd64 install libsasl2-modules-db:amd64 install libseccomp2:amd64 install libselinux1:amd64 install libsemanage-common install libsemanage1:amd64 install libsensors4:amd64 install libsepol1:amd64 install libsigsegv2:amd64 install libslang2:amd64 install libsmartcols1:amd64 install libsnmp-base install libsnmp30:amd64 install libsocket6-perl install libsqlite3-0:amd64 install libssl1.0.0:amd64 install libstdc++6:amd64 install libsys-hostname-long-perl install libsystemd0:amd64 install libtalloc2:amd64 install libtasn1-6:amd64 install libtdb1:amd64 install libtevent0:amd64 install libtext-charwidth-perl install libtext-iconv-perl install libtext-wrapi18n-perl install libtimedate-perl install libtinfo5:amd64 install libtirpc1:amd64 install libtsan0:amd64 install libubsan0:amd64 install libudev1:amd64 install libunbound2:amd64 install libunistring0:amd64 install liburi-perl install libusb-0.1-4:amd64 install libustr-1.0-1:amd64 install libuuid1:amd64 install libvbr2 install libwbclient0:amd64 install libwind0-heimdal:amd64 install libwrap0:amd64 install libwww-perl install libwww-robotrules-perl install libxml2:amd64 install libxtables11:amd64 install linux-base install linux-libc-dev:amd64 install locales install lockfile-progs install logcheck install logcheck-database install login install logrotate install logtail install lsb-base install lsb-release install lsof install lynx install lynx-common install lzma install m4 install make install makedev install man-db install manpages install manpages-dev install memtester install mime-construct install mime-support install mktemp install mlocate install module-init-tools install mount install mountall install mtools install multiarch-support install nano install ncurses-base install ncurses-bin install ncurses-term install net-tools install netbase install nfs-common install nload install odbcinst install odbcinst1debian2:amd64 install ->opendkim install ->opendkim-tools install openssh-blacklist install openssh-client install openssh-server install openssh-sftp-server install openssl install openssl-blacklist install ->openvpn install passwd install patch install pbis-open install pbis-open-upgrade install pciutils install perl install perl-base install perl-modules-5.22 install pigz install plymouth install ->postfix install ->postfix-policyd-spf-python install procinfo install procmail install procps install psmisc install psutils install pwgen install python install python-apt-common install python-crypto install python-dnspython install python-ldb install python-lockfile install python-minimal install python-pbr deinstall python-samba install python-talloc install python-tdb install python2.7 install python2.7-minimal install python3 install python3-acme install python3-apt install python3-asn1crypto install python3-authres install python3-certbot install python3-certifi install python3-cffi-backend install python3-chardet install python3-configargparse install python3-configobj install python3-cryptography install python3-dbus install python3-dns install python3-funcsigs install python3-future install python3-gi install python3-icu install python3-idna install python3-josepy install python3-minimal install python3-mock install python3-ndg-httpsclient install python3-openssl install python3-parsedatetime install python3-pbr install python3-pkg-resources install python3-pyasn1 install python3-pycurl install python3-requests install python3-requests-toolbelt install python3-rfc3339 install python3-six install python3-software-properties install python3-spf install python3-tz install python3-urllib3 install python3-zope.component install python3-zope.event install python3-zope.hookable install python3-zope.interface install python3.5 install python3.5-minimal install quota install re2c install readline-common install resolvconf install rpcbind install rsync install rsyslog install sa-compile install samba install samba-common install samba-common-bin install samba-libs:amd64 install sasl2-bin install screen install sed install sensible-utils install sharutils install snmp install snmpd install software-properties-common install ->spamassassin install spamc install ssl-cert install sudo install syslinux install systemd install systemd-sysv install sysv-rc install sysvinit-utils install tar install tcpdump install tcsh install tdb-tools install telnet install tofrodos install traceroute install ttf-dejavu install ttf-dejavu-core install ttf-dejavu-extra install ttf-freefont install tzdata install ubuntu-keyring install ucf install udev install unattended-upgrades install unixodbc install unzip install update-inetd install util-linux install uuid-runtime install vim install vim-common install vim-runtime install wget install whois install wide-dhcpv6-client install xinetd install xz-utils install zabbix-agent install zabbix-release install zlib1g:amd64 install '