Save big on Cloud
Use of opensource to save money on backup in cloud for small organization
Backup To Cloud
The main strategy of this project is to save the cost of backup in cloud. Backing up all data of a company that has be dispersed all over the computers inside a company does not sound inexpensive so I came with an idea to save the cost that might have incur to company if we implemented cloud backup plan directly as offered by the Service Providers Cloud computing solutions.
Since the cost of backing up every computer is around $15 per month which would produce the extra cost of around $15*12 for minimum of 15 computers but with this plan in effect we will be reducing that to around $180 per year because we will be backing up all the files to one main server and paying only to backup that server in the cloud. The main advantage of cloud backing up will be for disaster recovery.
We created a rsync server and transferd all files from our alreday implemented Nash4free server. This backup will be the 3rd backup which is automated and will save the files in incremented manner from Nash4free server.
So first of all we need a centos server to start the project.
Then we need to mount the hard disks inside the /mnt folder by using the following command:
Check the avaliable disks
#sudo fdisk -l
Then mount the disk as
#sudo mount /dev/sda /mnt/foldername
We can use sda or sdb or sdc ( Just the name that appeared in fdisk -l command)
If necessary you can format the disk using following command
Sudo mkfs.xfs /dev/sda
Then next give permission to the mounted disk’s folder using
Chmod 777 /mnt/foldername
Edit /etc/fstab and add
To make the mount permanent even after reboot.
Next step is to create a rsync server
I just followed the steps mentioned in https://toic.org/blog/2009/howto-create-rsync-server/ page which I am going to summerize below:
1 First make sure you have tcp and udp port 873 open in your firewall.
Use the following command for that
#firewall-cmd --permanent --zone=public --add-port=873/tcp and Udp next time
# firewall-cmd --reload
Next install rsync on your machine (if you don't have it yet), and xinetd as well.
#yum install -y rsync xinetd
Then We will make rsync available trough xinetd so you must enable it by editing its conf file
Then add following lines in the file and save it.
disable = no
socket_type = stream
wait = no
user = root
server = /usr/bin/rsync
server_args = --daemon
log_on_failure += USERID
For security we can add following but we can skip this as this is internal to the network.
Next we want to create rsync client username and password:
and enter a username and password in format:
yes it's plain text.
Then syncd server conf file is added as follows:
And add following
#maximum allowed connections
max connections = 10
#where to log
log file = /var/log/rsync.log
timeout = 300
To create a module add following in the same conf file
comment = Backup place for my office computers
path = /backup/
read only = false
list = yes
uid = backup
gid = backup
hosts allow = 192.168.0.0/24 # i want to limit the rsnyc server only to this group of hosts
secrets file = /etc/rsyncd.secrets
auth users = username #enter username specified in secrets file
Here secrets file and auth users can be ommited if you have not created rsyncd.secrets file
And use uid and gid from the nash4free server. You can use both as 1000 as admin and guest have 1000 set in our 192.168.0.244 nash4free server
Now we have a rsync server module at path /backup which will allow only hosts within 192.168.0.0/24 network and users authenticated by username specified in secrets file.
To make sure this will be somewhat secure let's change permissions on rsync config files
chown root.root /etc/rsyncd.*
chmod 600 /etc/rsyncd.*
Restart the xinetd:
service xinetd restart
Let's go test it out from one of our client hosts:
backup Backup place for my office computers
To transfer files from NAS server to rsync server follow the following instruction:
Go to services
Go to modules
Go to client
Choose the client you wanna execute and click setting
This is also scheduled but above steps helps to verify the connection.
Next we need to buy a plan from crashplan, we used following username and password to buy a plan
goto the dashboard of the cloud service provider.
Next we install the Service Providersin the rsync server by following guidline to install it
Download Service Providersby logging the url and browsing the add device in rsync server.
Select the link for linux
Then install using the script ./install.sh
Important directories are
Start scripts using