请问,centos7如何用xfsdump对文件或文件夹进行备份,还原

请问,centos7如何用xfsdump对文件或文件夹进行备份,还原,第1张

最简单粗暴的备份方式就是使用tar命令,用tar打包备份有个最大的优点是,解压后的权限和修改时间是不变的

例:将/test/目录下所有文件备份

tar -zcvf backtargz /test/

解压:

tar -zxvf backtargz

#!/bin/bash

PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin

export PATH

#数据库用户名

dbuser='root'

#数据库用密码

dbpasswd=''

需要备份的数据库,多个数据库用空格分开

dbname='xiaohuai xiaohuai2'

#备份时间

backtime=`date +%Y%m%d%H%M%S`

#日志备份路径

logpath='/home/mysqlbak'

#数据备份路径

datapath='/home/mysqlbak'

#日志记录头部

echo ‘"备份时间为${backtime},备份数据库表 ${dbname} 开始" >> ${logpath}/loglog

#正式备份数据库

for table in $dbname; do

source=`mysqldump -u ${dbuser} -p${dbpasswd} ${table}> ${logpath}/${backtime}sql` 2>> ${logpath}/mysqlloglog;

还是利用crontab功能,这个功能太实用了,赞一个先

利用人家的备份脚本:

---------------------------------代码开始----------人称可爱的分割线------------------------------------------------------

#!/bin/bash

#好的做法

#根据项目不同来重命名该脚本

#例如 amountebaksh or pandawillsbaksh

#该脚本最好放在 $bakpp定义的绝对路径部分

#你可以在$bakpp下找到相应的备份文件

#例如 /usr/backup/amountebaksh or /usr/backup/pandawillsbaksh

########## Init Path ########

# 在下面的参数中必须定义的参数有 $bakpp、$project、$projectpp

TAR=/bin/tar

# 存放备份文件的地方,以项目名称区分

bakpp=/var/www/html/media/backupfiles/"$project"

# 需要备份的文件夹,文件夹的路径

project=media

projectpp=/var/www/html/media/root/

# parament for varible

ym=`date +%Y%m`

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

# 存储备份文件的子目录,以月份区分,他的上级目录是$bakpp定义的

monthbakpp=$bakpp/$ym

gidpp=$monthbakpp

gidshot=gid$project$ym

# 完全备份的文件名

fullname=$ym

# 增量备份的文件名

incrementalname=$ymd

# Record the location of the log

log=$bakpp/$projectlog

############ chk_full #######################

# 检查完全备份是否存在,如果不存在就创建它

#this function check fullbackup file exist or not , if not then create fullbackup now

chk_full()

{

if [ -e "$monthbakpp"/"$project"_"$ym"_fulltargz ];then

echo ""$project"_"$ym"_fulltargz file exist!! ====`date +%Y-%m-%d-%T` " >>$log

else

tar_full

fi

}

######### chk_incremental ########

# 检查增量备份是否存在

chk_incremental()

{

while [ -e "$monthbakpp"/"$project"_"$incrementalname"_incrementaltargz ]

do

incrementalname=`echo "$incrementalname + 01" | bc `

done

}

######## tar_incremental #######

# 执行增量备份

tar_incremental()

{

cd $projectpp

echo "BEIGIN_TIME=====`date +%Y-%m-%d-%T` ==== CREATE "$project"_"$incrementalname"_incrementaltargz" >> $log

sleep 3

$TAR -g $gidpp/$gidshot -zcf $monthbakpp/"$project"_"$incrementalname"_incrementaltargz $project

echo "END_TIME========`date +%Y-%m-%d-%T` ==== CREATE "$project"_"$incrementalname"_incrementaltargz" >> $log

}

######## tar_full ###########

tar_full()

{

touch $gidpp/$gidshot

cd $projectpp

echo "BEIGIN_TIME=====`date +%Y-%m-%d-%T` ==== CREATE "$project"_"$fullname"_fulltargz" >> $log

$TAR -g $gidpp/$gidshot -zcf $monthbakpp/"$project"_"$fullname"_fulltargz $project

echo "END_TIME========`date +%Y-%m-%d-%T` ==== CREATE "$project"_"$fullname"_fulltargz" >> $log

}

########### backup ##############################

# 总体调用备份,此时会做相应的检查以确保备份前提准备充分

backup()

{

if [ -d $monthbakpp ]; then

chk_full

chk_incremental

tar_incremental

else

mkdir -p $bakpp/$ym

tar_full

fi

}

########### let's begin #############

# 先检查$bakpp是否存在,如果不存在先创建后备份

if [ -d $bakpp ];then

backup

else

mkdir -p $bakpp

backup

fi

#advice you can create a file for put backup file, eg /usr/cctcc

#crontab

#mini hours day month week command

# /5 /home/mmroot/zbb/aaash

# 0 1 /1 /home/mmroot/zbb/aaash

# tar -ztf testtargz 查看备份文件里面的文件

---------------------------------代码结束----------人称可爱的分割线------------------------------------------------------

说明一下我的目录结构

挂载装数据的分区shda5 挂载到/var/www/html/media

php web文件放到/var/www/html/media/root

要备份的就是/var/www/html/media/root/media目录

存放备份目录在/var/www/html/media/bacupfiles

把以上代码建立一个文件放入/usr/tmp/autobakfilesh

修改/usr/tmp/task加入一行:

原来的这行:/2 elinks -source http://localhost/autotasksphp

加入这行:

12 12 /usr/tmp/autobakfilesh

每天12点12分执行 这个脚本

另外注意就是 chmod +x /usr/tmp/autobakfilesh 给予执行权限,要不然会提示没有权限

the end

默认用户名是root

如果忘记了,可以进单用户破解

破解方法

1 Linux开机引导的时候,按键盘上的e 就可以进入进入GRUB菜单界面。

2在出现GRUB引导画面时(CentOS(2618-274)),按字母e键,进入GRUB编辑状态。

3把光标移动到kernel 那一行,再敲入“e”进入命令行编辑,

在kernel 一行的最后加上空格s,回车

敲入“b”,启动系统,即进入单用户模式,

4这个时候就可以用passwd命令改密码了。

passwd root

改完以后reboot重启。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 请问,centos7如何用xfsdump对文件或文件夹进行备份,还原

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情