Changes

From Amahi Wiki
Jump to: navigation, search
1,055 bytes removed ,  03:23, 23 June 2020
{{NeedsUpdate}}[http://rsnapshot.org/ '''''rnapshotrsnapshot'''''] is an excellent backup application and has been around for a long time and is extremely stable.
Why are backups important? Well, hardware failures, accidental file deletion(s), files become corrupted, etc.. Backups can help recover data where applications are being updated/upgraded. Enough reasons?
* Using a "terminal" session, login in using the "root" user ID.
* The "device name" of the drive needs to be determined.
<blockquote>Enter the following command:
{{Code|dmesg}}
</blockquote>
<blockquote>Enter the following command: dmesg The following information is displayed:{{Text|Text=<pre>[11122.304178] usb 2-4: new high-speed USB device number 5 using ehci_hcd
[11122.422152] usb 2-4: New USB device found, idVendor=0bc2, idProduct=3320
[11122.422165] usb 2-4: New USB device strings: Mfr=2, Product=3, SerialNumber=1
.
.
[11123.516813] sdb: sdb1}}</blockquotepre>
* The "device name" is "sdb1".
* The USB drive needs to be "unmounted".
<blockquote>{{Code| umount /dev/sdb1}}</blockquote>
* Format drive for ext3 filesystem and set drive label name as "usbdisk".
<blockquote>{{Code| mkfs -t ext3 -v -L usbdisk /dev/sdb1}}</blockquote>
:'''Please Note: THIS WILL ERASE ALL DATA ON /dev/sdb1, MAKE SURE THIS IS THE CORRECT USB DRIVE AND NOT ANOTHER DRIVE.'''
<blockquote>The following information is displayed:{{Text|Text=<pre>mke2fs 1.42.5 (29-Jul-2012)
fs_types for mke2fs.conf resolution: 'ext3'
Filesystem label=usbdisk
.
.
Writing superblocks and filesystem accounting information: done}}</blockquotepre>
* Whenever a drive is formatted in Linux, about 5% is reserved of the total space on the drive for the operating system to continue using the hard drive to operate, even if it gets full. This is totally unnecessary for a USB external hard drive if it stores only data and not to run an operating system.
<blockquote> Enter the following to remove the reserved space:{{Code| tune2fs -m 0 /dev/sdb1}}</blockquote><blockquote>The following information is displayed:{{Text|Text= tune2fs 1.42.5 (29-Jul-2012) Setting reserved blocks percentage to 0% (0 blocks)}}
* The external drive is now ready for use.
* In the previous section the device name found found via the "dmesg" command. The device name found was "sdb1".
* We set the set the external drive's "label". It was set to "usbdisk".
<blockquote> To find the label at anytime via the "root" user ID enter:{{Code| e2label /dev/sdb1}}</blockquote><blockquote>The following information is displayed:{{Text|Text= usbdisk}}</blockquote>
Both methods of mounting will be controlled by the server's "fstab" configuration file. The fstab (a.k.a. file systems table) file is a system configuration file containing lists of available disks and disk partitions, and indicates how they are to be initialized or otherwise integrated into a system's file system. When the "mount" command is used, the fstab file is read to determine which options should be used when mounting a specified device.
* Navigate to the "etc" directory with the "cd" command and make a backup of the current fstab file.
<blockquote>{{Code| cd /etc cp /fstab /fstab_bak}}</blockquote>
* Using a preferred file editor (i.e. vi, nano), open the fstab file.
<blockquote>{{Code|nano fstab}}</blockquote>
* Near the bottom of the and after the other fstab entries, add the following:
<blockquote>{{Text|Text= LABEL=usbdisk /media/usbdisk ext3 defaults 0 0}}</blockquote>
* Now save the fstab file and exit the editor.
* Navigate to the /media directory and create a "usbdisk" directory. This is where the external drive will be mounted, this is called a "mount point".
<blockquote>{{Code| cd /media mkdir usbdrive}}</blockquote>usbdisk
* Make sure the external drive USB cable is connected to the server and is powered up.
* Navigate to the "etc" directory with the "cd" command and make a backup of the current fstab file.
<blockquote>{{Code| cd /etc cp /fstab /fstab_bak}}</blockquote>
* Using a preferred file editor (i.e. vi, nano), open the fstab file.
<blockquote>{{Code| nano fstab}}</blockquote>
* Near the bottom of the and after the other fstab entries, add the following:
<blockquote>{{Text|Text= LABEL=usbdisk /media/usbdrive ext3 rw,noauto,users,exec,noatime 0 0}}</blockquote>
* Now save the fstab file and exit the editor.
* Navigate to the /media directory and create a "usbdisk" directory. This is where the external drive will be mounted, this is called a "mount point".
<blockquote>{{Code| cd /media mkdir usbdrive}}</blockquote>
* Make sure the external drive USB cable is connected to the server and is powered up.
* Reboot the server.
* Start a "terminal" session login as the "root" user ID.
* To manually mount the external drive issue the following command:
<blockquote>{{Code| mount -L usbdrive}}</blockquote>usbdisk
* The system reads the fstab, when it finds a line entry with the label "usbdrive", it mounts the drive the mount point, "/media/usbdisk".
* Start a "terminal" session login as the "root" user ID.
* Issue the following command to unmount the external drive:
<blockquote>{{Code| umount /media/usbdrive}}</blockquote>
* Should an error occur indicating that the drive is busy and cannot be unmounted enter the command below. Then try the unmount command again.
<blockquote>{{Code| fuser -km /media}}</blockquote>
===Installing rsnapshot===
* Open a "terminal" session and login using the "root" user ID:
<blockquote>{{Code| yum install rsnapshot}}</blockquote>
* Now create the directory structures for storing the backups:
<blockquote>{{Code| mkdir -p /media/usbdisk/.private/.snapshots chmod 0700 /media/usbdisk/.private/ chmod 0755 /media/usbdisk/.private/.snapshots/}}</blockquote>
=== Configuring rsnapshot ===
* Move to the "/etc" directory.
<blockquote>{{Code| cd /etc}}</blockquote>
* Make a backup copy of the rsnapshot configuration file. Why? So that there is a reference just in case.
<blockquote>{{Code| cp rsnapshot.conf rsnapshot.conf.bkup}}</blockquote>
* Now using a favourite editor, open the "rnapshot.conf" file.
<br/>
'''Please Note:''' Items in the configuration file are separated by "tab" characters and NOT multiple spaces.
<blockquote>{{Code| nano rsnapshot.conf}}</blockquote>
* Find the "SNAPSHOT ROOT DIRECTORY" section and change "snapshot_root" to path where the backups will be stored.
<blockquote>{{Text|Text= snapshot_root /media/usbdisk/.private/.snapshots/}}</blockquote>
* Find the "no_create_root" section and remove the "#". This will allow rsnapshot to create the "snapshot root" directory.
<blockquote>{{Text|Text= no_create_root 1}}</blockquote>
* Find the "BACKUP INTERVALS" section and change the line items. What does this all mean? The "#" character at the beginning of each line means the configuration line item will not be enabled. Remove the "#" character as required. For example, when enabled the "interval daily" line will be active and 7 days of backups will be kept.
<blockquote>{{Text|Text= interval hourly 6 interval daily 7 interval weekly 4 interval monthly 12}}</blockquote>
* Find the "GLOBAL OPTIONS" section. This section defines how much information will be saved in the rsnapshot "log" file.
4 Extra Verbose Show extra verbose information
5 Debug mode Everything
<blockquote>Change the following options as required:{{Text|Text= verbose 3 loglevel 3}}</blockquote>
* Find the "logfile" line and change the line item. After rsnapshot has completed backups this is where the resulting "log" file is stored. Change this line as required.
<blockquote>{{Text|Text= logfile /var/log/rsnapshot}}</blockquote>
* Find the "BACKUP POINTS / SCRIPTS" section. Add changes as seen below. This is the section that defines the "key directories" that will be backed up. Please note the "localhost/", this represents the server that it being backed up. "localhost/" is a default name given to the current server. Change this name as required, say "amahiBox/"?
<blockquote>{{Text|Text= backup /var/hda/files/docs/ localhost/ backup /var/hda/files/pictures/ localhost/ backup /var/hda/files/movies/ localhost/ backup /var/hda/files/music/ localhost/ backup /var/hda/files/other_shares_you_made localhost/}}</blockquote>
* Save the "rsnapshot.conf" file.
* Enter the following on the command-line to initiate the test.
<blockquote>{{Code| rsnapshot configtest}}</blockquote>
* When the test completes the following should be displayed:
<blockquote>{{Text|Text= Syntax OK}}</blockquote>
* If an error occurs the rsnapshot configuration file will need to be checked.
* Using a "terminal" session and "root" user ID a "cron job" configuration can be created to perform automated backups.
<blockquote>Create a "cronjobs" text file as follows:{{Code| crontab -l > cronjobs}}</blockquote>
* Using a favourite text editor open the cronjobs file.
<blockquote>{{Code| nano cronjobs}}</blockquote>
* Add to the cronjobs file for rsnapshot:
<blockquote>{{Text|Text= 0 */4 * * * /usr/bin/rsnapshot hourly 30 23 * * * /usr/bin/rsnapshot daily 00 23 * * 1 /usr/bin/rsnapshot weekly 30 22 1 * * /usr/bin/rsnapshot monthly}}</blockquote>
* Save the cronjobs file.
* Now update the "root" user IDs "crontab" with the following:
<blockquote>{{Code| crontab cronjobs}}</blockquote>
* Reboot the server and rsnapshot will be operational.
===Email reporting===
* To email a report of backups:
for email reporting on your backups: : cp /usr/share/doc/rsnapshot*/utils/rsnapreport.pl /root <= chmod 744 rsnapreport.pl'''*''' above indicates an rsnapshot version number :chmod 744 rsnapreport.pl
* Add the following to crontab for a weekly email report on rsnapshot:
<pre style="white-space:pre-wrap; word-break: keep-all;">0 */4 * * * /usr/bin/rsnapshot hourly 2>&1 | /root/rsnapreport.pl > /root/rsnapreport00 22 * * 6 /usr/bin/rsnapshot du >> /root/rsnapreport | nail –r "somereturnadress@provider.com" -s"HDA backup report" -S smtp=smtp.yourprovider.com youremail@provider.com < /root/rsnapreport</pre>
'''Please Note:00 22 * * 6 /usr/bin/rsnapshot du >> /root/rsnapreport | nail –r "somereturnadress@provider''' The above information maybe out of date due to technology changes.com" -s"HDA backup report" -S smtp=smtpPlease feel to update as required.yourprovider.com youremail@provider.com < /root/rsnapreport
===Make your backups available on clients (READ ONLY)===
Create a //hda/backup share in the HDA webinterface
: chkconfig nfs --level 2345 on
add a read only NFS export:
: nano /etc/exports
add
: /media/usbdisk/.private/.snapshots/ 127.0.0.1(ro,no_root_squash)
Save file
Unfortunately mounting an NFS share in fstab did not work on my machine after a reboot, so I chose an alternative configuration that mounts the share later in the booting process:
: nano /etc/rc.local
Add
: mount -r -t nfs localhost:/media/usbdisk/.private/.snapshots/ /var/hda/files/backup/
save file
[[Category: Apps]]
12,424

edits