562 lines
30 KiB
Bash
562 lines
30 KiB
Bash
#!/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
|
|
' |