感谢支持
我们一直在努力

关于Linux的备份

关于Linux备份知识的个人修改整理。


自动上传文件到ftp服务器相关目录


如果在crontab备份档案后,想将档案透过FTP传送到其他伺服器,可以用以下方法编写shell script:


#!/bin/bash
cd /tmp/backup  #Linux机目录
ftp -n<<!
open 192.168.0.7
user 用户名 密码
binary
cd /backup   #要传输到的ftp服务器目录
prompt
mput *
close
bye
!


文中的<<!的意思是<<以后的内容作为ftp命令的输入,一直到!的出现


shell script储存后,需要执行chmod 700 给予执行权限,然后放到crontab里面便完成了。


利用系统crontab来定时执行备份mysql文件,按日期对备份结果进行保存,达到备份的目的。


1、创建保存备份文件的路径/backup


mkdir /backup


mkdir /backup/mysql


2、创建一个备份的执行文件


vi /backup/backup.sh


内容输入


time=` date +%Y%m%d `


tar zcvf /backup/mysql/mysql$rq.tar.gz /var/lib/mysql


或者写成


time=` date +%Y%m%d `


mysqldump –all-databases -u root -p 2339212py > /mysqldata/mysql$time.sql


用日期做备份数据库的名字,然后可用tar压缩一下


/var/lib/mysql是你数据库文件的目录,部分用户是/usr/local/mysql/data,每个人可能不同


/mysqldata/表示保存备份文件的目录,这个每个人也可以根据自己的要求来做。


3、修改文件属性,使其可执行


chmod 700 /backup/backup.sh


4、修改/etc/crontab


vi /etc/crontab


在下面添加


0 3 * * * root /backup/backup.sh


表示每天3点钟执行备份

5、重新启动crond


/etc/rc.d/init.d/crond restart 或 service crond restart


完成。


或者备份网站目录


time=` date +%Y%m%d `


tar zcvf /backup/www/www$time.tar.gz /var/www/html/


做备份之前先建立目录


——-


附mysqldump命令


1.备份所有数据库


mysqldump –all-databases > /bak/all.sql


2.备份指定数据库


mysqldump –opt company > /bak/company.sql


3.备份指定表


mysqldump –opt company person > /bak/person.sql


4.备份表结构


mysqldump –no-data company person > /bak/person.sql


5.指定备份条件


只备份Market部门的工资记录


mysqldump –opt company wages –“where=dept=’Market'” > /wages.sql


———-


linux下tar 做增量备份


ftp目录下有三个文件夹,其中ftpuser 、KN-FILE、public 需要www.linuxidc.com备份在 bak_temp 目录下


先来个完整备份


# cd /ftp/


# tar -g /ftp/bak_temp/ftpuser -zcvf /ftp/bak_temp/ftpuser_full.tar.gz ftpuser


# tar -g /ftp/bak_temp/kn-file -zcvf /ftp/bak_temp/kn-file_full.tar.gz KN-FILE


# tar -g /ftp/bak_temp/public -zcvf /ftp/bak_temp/public_full.tar.gz public


备份完成后可以输入 tar tf 查看一下包里的文件


# tar tf /ftp/bak_temp/public_full.tar.gz


增量备份


# tar -g /ftp/bak_temp/ftpuser -zcvf /ftp/bak_temp/ftpuser_incremental.tar.gz ftpuser


# tar -g /ftp/bak_temp/kn-file -zcvf /ftp/bak_temp/kn-file_incremental.tar.gz KN-FILE


# tar -g /ftp/bak_temp/public -zcvf /ftp/bak_temp/public_incremental.tar.gz public


注意,-g 参数后所跟的文件名一定要和做完整备份时的一样,因为他会从里面读取相关的数据,否则增量备份不成功。


当你查看增量备份出来的tar包时,发现里面的内容比较少,因为他只备份了你修改过的文件,发现包里文件少也证明了增量备份成功。


还原数据的时候,先cd 到你要存放还原文件的目录,接着解压完整备份的包,再依次解压增量备份包


# tar zxvf /ftp/bak_temp/ftpuser_full.tar.gz


# tar zxvf /ftp/bak_temp/ftpuser_incremental.tar.gz


增量备份,只会备份你改变过的名字,如某文件添加或删除过字符、新建文件、新建目录,都会做备份,增量备份故名思意只做增加的备份,如删除的操作不备份。

赞(0) 打赏
转载请注明出处:服务器评测 » 关于Linux的备份
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏