Skip to main content

How to take backup of important system configuration files and get it all sent to you in an email

The purpose of this article is to protect your important configuration and setting files that could change over time and you would want to retain a copy of these files for protection of your system.

I recommend you specify the list of important files and get them sent to you once a week via email using the script and guideline below.

First of all you have to configure a cron task that will run regularly once every week and although you can set up a user specific cron it is advised to set up a system based cron since the task you are carrying out is system wide.

user@server:/$ cat /etc/cron.weekly/aweeklycron
#!/bin/sh
echo "`date` - Daily cron - Taking config file backup and sending via email." >> /var/log/mycron.log
/etc/sysconfig/configbackup.sh & >> /var/log/mycron.log

Now place the script in directory mentioned above in the cron task.

Create the direcory if it doesn't already exist.
sudo mkdir /etc/sysconfig

The script below uses Zip file format since it is a format that can be scripted to password protect your files.

$ sudo vi /etc/sysconfig/configbackup.sh
#!/bin/bash
hdir="/etc/sysconfig"
dt=`date "+%Y-%m-%d"`
tfile="/opt/backup/configbackup-$dt.zip"
ilist="$hdir/includelist.txt"
tmail="email@domain.com"
subj="Unique Email title - Backup - $dt"
sudo ufw status numbered > /tmp/ufwstatus.txt
sudo rm $tfile
sudo zip -r $tfile `cat $ilist` -P aSecretPassword
( echo "Configuration Backup taken on $dt attached." ; uuencode $tfile $tfile ) | mailx -s "Systenmane System config Backup" $tmail

Make the script executable.
sudo chmod 755 /etc/sysconfig/configbackup.sh

Create an Include List that can contain system files and folders that are important, reconfigured or customized and you wish to take a regular backup of them.

$ sudo vi /etc/sysconfig/includelist.txt
/etc/asterisk/
/etc/cron.weekly/aweeklycron
/etc/resolv.conf
/etc/denyhosts.conf
/etc/init.d/vncserver
/etc/postfix/main.cf
/etc/postfix/master.cf
/etc/hosts
/etc/fstab
/etc/ssh/ssh_config
/etc/ssh/sshd_config
/etc/samba/smb.conf
/etc/sysconfig
/etc/rsyslog.conf
/etc/ufw/ufw.conf
/etc/network/interfaces
/tmp/ufwstatus.txt

This should complete your system config backup task and you should expect to see the weekly email containing a zip file with the contents that you have selected in your includelist.txt delivered by your sincere robotic task.

Subject to outgoing email configured and working.

Popular posts from this blog

TrueCrypt on macOS X Mojave 10.14

If you have updated your macOS recently to Mojave otherwise known as verison 10.14 you may not be able to install the last version of Truecrypt in order to access your old volumes encrypted with Truecrypt software. This article will guide you to get this working on your MacOS v10.14 (Mjoave) . Download the package from  https://truecrypt.ch/downloads/  or  https://www.truecrypt71a.com/downloads/ . Find downloaded package using Finder in your HDD/Users/username/Downloads folder and will look like  TrueCrypt 7.1a Mac OS X.dmg . Open file location in Finder and open or double click on  TrueCrypt 7.1a Mac OS X.dmg . This will mount Truecrypt 7.1a and will have Truecrypt 7.1a.mpkg in it. Drag the package T rueCrypt 7.1a.mpkg and drop in your Downloads folder. From Locations in Finder you can eject your TrueCrypt mount. Now go to your Downloads location, find the file  TrueCrypt 7.1a.mpkg , right click and select Show Package Contents . Find the file Contents/distribution.di

Tools you need before you start using Terraform for orchestration infrastructure in cloud

Terraform one of the famous open source tool used for planning, deploying and maintaining infrastructure as a code and the beauty of this tool is that it works across various cloud service providers. Even though I personally like the AWS Cloudformation, it is AWS only and most probably it will always remain limited to Amazon Web Services. It has few advantages over other tools when using with AWS and will be the first to have new AWS features incorporated before other tools and APIs catch up. However if you are not limiting yourself to AWS only or have hybrid environment you may want to use a 3rd party tool compatible for all cloud infrastructures. Terraform being one of them is youngest client only tool and this article will help you setting up your desktop environment and give you understanding of how it works before you can start to code. Prerequisites: Computer running Windows, Linux, Solaris or MacOS operating system. Downloads: Download Terraform directly from the crea

Running VNC Server as a Service on Ubuntu

Method 1: VNC Server as a Service on Ubuntu desktop similar to Redhat sysconfig sudo apt-get install vncserver sudo mkdir -p /etc/sysconfig sudo touch /etc/sysconfig/vncservers sudo vi /etc/sysconfig/vncservers # Add following VNC Server instances where username and arguments are defined for each session. VNCSERVERS=" 1:user1 2:user2 3:user3 " VNCSERVERARGS[1]=" -geometry 1280x992 -depth 16 " VNCSERVERARGS[2]=" -geometry 800x600 -depth 8 " VNCSERVERARGS[3]=" -geometry 980x720 " sudo vi /etc/init.d/vncserver # Add below to the service script #!/bin/bash # # chkconfig: - 91 35 # description: Starts and stops vncserver. \ # used to provide remote X administration services. # Source function library. # . /etc/init.d/functions # Source networking configuration. # . /etc/sysconfig/network # Check that networking is up. # [ ${NETWORKING} = "no" ] && exit 0 unset VNCSERVERARGS VNC