linux备份系统到NAS共享
以Centos为例
首先安装支持组件:
yum -y install cifs-utils
创建挂载目录
mkdir /osbak
挂载共享目录到osbak目录
mount -t cifs -o username="pt",password="xxxxxx",vers=2.0 //192.168.1.6/backup /osbak
不报错就表示挂载完成
可以cd /osbak 进去看看,挂载完成后使用tar进行备份即可。卸载挂载可以使用umount /osbak
#常规备份 tar cvpzf /osbak/backup.tgz / --exclude=/osbak --exclude=/proc --exclude=/lost+found --exclude=/backup.tgz --exclude=/mnt --exclude=/sys #恢复 tar xvpfz /osbak/backup.tgz -C /
使用bz2备份(体积更小)
#安装bzip2 yum -y install bzip2 #备份 tar cvpjf /osbak/backup.bz2 / --exclude=/osbak --exclude=/proc --exclude=/lost+found --exclude=/backup.tgz --exclude=/mnt --exclude=/sys #恢复 tar xvpfj /osbak/backup.bz2 -C /
#数据库备份 mysqldump -u <用户名> -p<密码> <数据库名> > database_backup.sql #数据库恢复 mysql -u <用户名> -p<密码> <数据库名> < database_backup.sql
除了手动备份和恢复,我们还可以使用cron定时任务来实现自动备份。具体操作步骤如下:
创建一个名为backup.sh的备份脚本,内容如下:
#!/bin/bash timestamp=$(date +%Y%m%d%H%M%S) backup_dir="/osbackup/$timestamp" website_dir="/www" database_backup_file="/osbackup/database_$timestamp.sql" database_name="<数据库名>" database_user="<用户名>" database_password="<密码>" mkdir -p $backup_dir tar -czvf $backup_dir/website_backup.tar.gz $website_dir mysqldump -u $database_user -p$database_password $database_name > $database_backup_file
执行命令crontab -e打开定时任务编辑器,添加以下内容:
#每天的午夜(0点0分)执行备份脚本。
0 0 * * * /path/to/backup.sh
tar:
特点
1、保留权限
2、适合备份整个目录
3、可以选择不同的压缩方式
4、如果选择不压缩还能实现增量备份,部份还原,参考man tar
博客地址:http://www.cnblogs.com/colinliu/
博客版权:本文以学习、记录、分享为目的。欢迎大家转载,但务必注明原文地址,谢谢合作!
博客版权:本文以学习、记录、分享为目的。欢迎大家转载,但务必注明原文地址,谢谢合作!