关于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
增量备份,只会备份你改变过的名字,如某文件添加或删除过字符、新建文件、新建目录,都会做备份,增量备份故名思意只做增加的备份,如删除的操作不备份。