您的位置:首页 > 运维架构 > Linux

Centos 备份常用命令

2016-12-18 15:44 246 查看
在CentOS上备份,经常使用tar进行打包,备份到远程目录可以使用rsync或mount映射远程目录,删除过期备份可以使用find,rm,自动执行可以使用sh脚本和crontab配合。
提醒大家,所有脚本请在CentOS下编辑,请勿在windows下编辑后上传,容易出现格式问题,不能正常执行。

现在已一台CentOS 7服务器,需要备份的目录,/var/backup 。备份到SMB共享作为例子说明

首先安装SMB共享支持,不然mount会出错
yum install cifs-utils
通过 mount ,将远程windowns域环境的SMB共享映射到本地目录
建立映射目录
mkdir /home/backup
映射远程目录
mount -t cifs -o username="用户名",domain="域名",password="密码" //远程服务器/目录  /home/backup


测试备份命令

进入需要备份目录的上级目录
cd /var
使用tar打包需要备份的目录到映射目录,tar 格式,tar -参数 /备份文件存放地址 /备份目录。tar 参数,j 使用bzip2压缩,p 保留文件属性,c 创建新的存档,v 显示过程,脚本化时去除。备份文件名增加生成日期时间的参数,$(date +%Y-%m-%d-%H%M%S)。
tar -jpcf  /home/backup/backup.$(date +%Y-%m-%d-%H%M%S).tar.bz2 backup
自动删除七天前的备份文件,find /路径 -type f -mtime +7 -exec rm -f {} \;-type f是指定文件类型为普通文件,-mtime +7是指7天之前的文件,#-exec rm -f指执行静默删除匹配出来的文件。
find /home/backup -type f -mtime +7 -exec rm -f {} \;


如果都测试成功,我们就可以开始编写备份脚本,记得将脚本更改为可执行文件

#!/bin/bash
mount -t cifs -o username="用户名",domain="域名",password="密码" //远程服务器/目录
cd /var
tar -jpcf  /home/backup/mrcrm.$(date +%Y-%m-%d-%H%M%S).tar.bz2 mrcrm
cd /home/backup
find /home/backup -type f -mtime +7 -exec rm -f {} \;
unmount /home/backup
脚本测试成功,我们可以使用自动执行命令让脚本自动在指定时间执行。
crontab -l 查看清单 -e 编辑

参考文章:
http://linux.vbird.org/linux_basic/0610hardware.php
推荐鸟哥的第二十章、基礎系統設定與備份策略。里面描写更详细和清晰。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  备份 centos tar