Thursday, May 24, 2007

Backup and Restore Ubuntu System using Sbackup

Data can be lost in different ways some of them are because of hardware failures,you accidentally delete or overwrite a file. Some data loss occurs as a result of natural disasters and other circumstances beyond your control.

Now we will see a easy backup and restore tool called "sbackup"

SBackup is a simple backup solution intended for desktop use. It can backup any subset of files and directories. Exclusions can be defined by regular expressions. A maximum individual file size limit can be defined. Backups may be saved to any local and remote directories that are supported by gnome-vfs. There is a Gnome GUI interface for configuration and restore.

Current Stable Version : - 0.10.3

Project Home page :- http://sbackup.sourceforge.net/HomePage

Sbackup Features List

  • Backup any subset of files and directories
  • Exclude files and directories by regex expressions
  • Exclude files by type (extension)
  • Exclude files by maximum file size
  • Backup to local filesystem
  • Backup to any Gnome-VFS supported remote filesystem (including sftp and ftp)
  • Full and incremental backups
  • Scheduling backups via cron
  • Gnome GUI for configuration
  • Gnome GUI for restore
  • Command-line restore tool that also provides a Python API for restoring a file or directory
  • Backing up package list in Debian derived distributions
  • On restore, existing files are not overwritten, but are renamed to a safe name

Installing sbackup in ubuntu

sudo apt-get install sbackup

Backup Your Data Using Sbackup

Once you completed the installation you can access sbackup using System--->Administration--->Simple Backup Config you can see this in the following screen

Next screen is asking for root password enter password and click ok

Once it opens the sbackup application you can see the following screen where you can configure your backup settings first tab is general options in this example i am choosing "Use custom backup settings"

Sbackup can be operated in 3 different modes

Recommended Backup

If you are new Ubuntu user or aren't sure what you should backup.This will perform a daily backup of your /home,system data held in /etc,/usr/local and /var.This will deliberately exclude any files over 100MB.By default this backup will be stored /var/backup

Custom Backup

This is same as the recommended backup and in this you can change the settings include,exclude files,you can change the schedule time.

Manual Backup

If you want to backup some files from time to time this option is for you and you can click backup now button to manually perform a backup according to the settings on the other backup properties dialog box tabs.

Next you click on "Include" tab here you can include any file or directory you want to backup

If you click on "Add file" button you should see the following screen where you can select your files

If you click on "Add Directory" button you should see the following screen where you can select your Directory for backup

Next option is "Exclude" here you can exclude files and folders you don't want to backup.Here you can exclude Paths,File Types,Regular Expressions,Max file,folder size

Next option is "Destination" here i am leaving the default location i.e /var/backup if you want to chnage the backup store location you can select the "Use Custom local Backup directory" and enter the location

Now you can select "Time" option here you can schedule when do you want to run your backup.

Available options for backups you can see in the following screen you can select hourly,daily,weekly,monthly,custom options

Next option is "Purging" here you can select old and incomplete backups and you set the no.of days you want to purge after completing all the settings you need to click on "Save" button to save your settings.

Now if you want to take backup just click on "Backup Now" or leave the schedule backup in this example i just clicked on "Backup Now" this is started a background process with process id you can see this in the following screen

Restore Your Data Using Sbackup

If you want to restore backups or any files,folders go to System--->Administration--->Simple Backup Restore you can see this in the following screen

Once it opens you should see the following screen here you can select the restore source folder and available backups from drop-down menu here you can choose files and folders you want to restore and click on "Restore" button

In this example i have choosen to restore one .iso file and once you select your file and click on "Restore" it will ask for your confirmation click on yes this will restore the file in orginal location if you want to restore in different location you need to select "Restore As" option

Note:- By default Restored Files and Directories are owned by root this is because of sbackup will runs with root.You need to chnage these files or folder permissions using chmod or just right click and select properties of the file or folder.

Backup Destination on Remote machine

One more beauty about sbackup is you can store your backup on a remotemachine for this it will give the option of using SSH or FTP for this go to System---> Administration---> Simple Backup Config once it opens the application you need to click on destination tab here you can select "Use a remote Directory" option type ssh:// or ftp:// followed by the username:password, then @, then the remote host to connect to and the remote directory.

Final Tip:-

Sbackup doesn't create a new backup file each time it runs and it creates an incremental backup.Which means that it updates the last backup with files that you changed or been created any files that haven't been updated since the last backup are unchanged

Sbackup Configuration from command line

If you want to configure sbackup you need to Edit /etc/sbackup.conf file

Restore Backup from command line

Run "sudo srestore.py /var/backup/2006-11-18_03 /home/myuser /home/myuser/old". You can omit the last parameter to restore to the same directory.

Conclusion

Sbackup is really very useful for new users particularly to allows users to choose either a simple backup scheme that performs incremental backups daily and full backups weekly, or to modify the default scheme with their own settings. Users list directories to backup in the Include tab, and select items to exclude in the Exclude tab. Exclusions can be based on directory,file type (sbackup excludes multimedia files by default), file size,or regular expression.This .

Gởi mail trong PHP

Trong PHP ta có thể gởi mail theo hai cách, cách 1 dùng hàm có sẵn của PHP, cách nầy đơn giản dễ hiểu, cách 2 là gỡi mail dùng smtp để gởi. Các 1 thường bị một số server ngăn không cho dùng (vì sợ bị web admin dùng cho việc phát tán thư rác) cách 2 phức tạp hơn.
Cách 1: bạn tham khảo ở đây : http://www.diendantinhoc.net/tute/webdev/php/php_by_examples/basic/tute_send_email.php
Trong tutorial nầy tôi chỉ hướng dẫn cách 2 dùng smtp.
Send mail với SMTP:
Trước tiên bạn download file class.phpmailer.php từ trang web http://phpmailer.sourceforge.net/ gói dành cho linux http://sourceforge.net/project/downloading.php?groupname=phpmailer&filename=phpmailer-1.73.tar.gz&use_mirror=jaist
unzip tất nhiên :)
Giả sử bạn đã có một tài khoản mail smtp thường có sẵn hoặt bạn tạo mới khi bạn mua host linux, hoặt là bạn được công ti cấp một email account cũng được.
ví dụ của tôi là
Host = mail.ongkhoi.com // SMTP servers
username = nha@ongkhoi.com
password = quangcao

và sau đây là code:
require("class.phpmailer.php");
require("class.smtp.php");
$mail = new PHPMailer();
$mail->IsSMTP(); // send via SMTP
$mail->Host = "mail.ongkhoi.com"; // SMTP servers
$mail->SMTPAuth = true; // turn on SMTP authentication
$mail->Username = "nha@ongkhoi.com"; // SMTP username
$mail->Password = "quangcao"; // SMTP password
$mail->From = "nhakhtn@gmail.com";
$mail->FromName = "Mailer";
$mail->AddAddress($email,"Thanh vien"); //$email là địa chỉ email mà bạn muốn gởi
$mail->AddReplyTo("nha@ongkhoi.com","Information");
$mail->WordWrap = 50; // set word wrap
$mail->IsHTML(true); // send as HTML
$subject = 'Kích hoạt tài khoản tại quangcao1.com ! / Kich hoat tai khoan tai quangcao1.com';
$message = "hihi test thui nhe";
$mail->Subject = $subject;
$mail->Body = $message;
$mail->AltBody = "";
if(!$mail->Send())
{
echo "Message was not sent

";
echo "Mailer Error: " . $mail->ErrorInfo;
exit;
}
Hết :)