centos备份脚本
1 mysqlmp -u(root) -p(password) -h(first host ip) (database name) | mysql -u(root) -p(password) -h(second host ip) (database name)
2 8G就可以了,一般是内存*2。swap如果使用过多,就该考虑增加内存了。
㈡ 服务器是阿里云的, centos的,每天都有数据库自动备份,想在Windows下做一个自动下载备份文件的脚本
rsync
centos安装服务端
windows安装客户端
㈢ CentOS下 定时备份指定目录下的文件该怎么写脚本
#! /bin/bash
#beifen_ceshi
mkdir -p /db/ceshi/`date +%Y_%m_%d`
cd /db/ceshi/`date +%Y_%m_%d`
/usr/bin/mysqlmp -u root --password=0987654 mysql > `date +%Y_%m_%d`.sql
这是一个简单的备份数据库的,你可以照着改改 ,然后加入crond就好了
㈣ centos每天自动备份mysql数据库问题
脚本如下
#!/bin/bash
#功能说明:本功能用于备份数据库
#编写日期:**********
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
export PATH
#数据库用户名
dbuser='root'
#数据库密码
dbpasswd='123456'
#数据库名,可以定义多个数据库,中间以空格隔开,如:test test1 test2
dbname='test1 test2'
#备份时间
backtime=`date +%Y%m%d%H%M%S`
#日志备份路径
logpath='/second/backup'
#数据备份路径
datapath='/second/backup'
#日志记录头部
echo ‘"备份时间为${backtime},备份数据库表 ${dbname} 开始" >> ${logpath}/mysqllog.log
#正式备份数据库
for table in $dbname; do
source=`mysqlmp -u ${dbuser} -p${dbpasswd} ${table}> ${logpath}/${backtime}.sql` 2>> ${logpath}/mysqllog.log;
#备份成功以下操作
if [ "$?" == 0 ];then
cd $datapath
#为节约硬盘空间,将数据库压缩
tar jcf ${table}${backtime}.tar.bz2 ${backtime}.sql > /dev/null
#删除原始文件,只留压缩后文件
rm -f ${datapath}/${backtime}.sql
echo "数据库表 ${dbname} 备份成功!!" >> ${logpath}/mysqllog.log
else
#备份失败则进行以下操作
echo "数据库表 ${dbname} 备份失败!!" >> ${logpath}/mysqllog.log
fi
done
定时执行脚本:
方式:
1、
执行 crontab -e
输入以下内容:
______________________________________________________________________________
00 00 * * * /bin/bash yourpath/mysqlbak.sh
2、
打开自动执行文件
vi /etc/crontab
在etc中加入如下内容,让其自动执行任务。
00 00 * * * root /mysqlbak.sh
以上两个 00 00 *** 为每天的凌晨自动执行脚本
分 时 日 月 周 命令M: 分钟(0-59)。每分钟用*或者 */1表示H:小时(0-23)。(0表示0点)D:天(1-31)。m: 月(1-12)。d: 一星期内的天(0~6,0为星期天)。
3、
Redhat方法:
Redhat的crontab采用按时间调用4个目录(/etc/cron.hourly:每小时;/etc/cron.daily:每
天;/etc/cron.weekly:每周;/etc/cron.monthly:每月)中脚本出来运行的方式。
Redhat中只需要将刚才编辑的脚本复制到相应的目录即可。
cp /autobackupmysql.sh etc/cron.daily
重启etc
/etc/rc.d/init.d/crond restart
这样能保证每日跟新准确!!!!!谢谢为您解答!!!!!!
㈤ 关于centos的命令和sh脚本的问题
source命令执行脚本,意味着在当前shell执行。对当前环境变量的值有影响。
sh命令执行脚本,会在新建shell中执行。不会改变当前环境变量的值。
㈥ 如何自动备份腾讯云CENTOS上的所以设置
腾讯云CBS三副本备份,最大限度保障数据不丢失。
也可以对镜像做备份或磁盘快照。
自动备份需要通过脚本来操作。
㈦ 怎样利用CentOS自动备份增量文件
还是利用crontab功能,这个功能太实用了,赞一个先
利用人家的备份脚本:
---------------------------------代码开始----------人称可爱的分割线------------------------------------------------------
#!/bin/bash
#好的做法
#根据项目不同来重命名该脚本
#例如 amountebak.sh or pandawillsbak.sh
#该脚本最好放在 $bakpp定义的绝对路径部分
#你可以在$bakpp下找到相应的备份文件
#例如 /usr/backup/amountebak.sh or /usr/backup/pandawillsbak.sh
########## 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/$project.log
############ chk_full #######################
# 检查完全备份是否存在,如果不存在就创建它
#this function check fullbackup file exist or not , if not then create fullbackup now
chk_full()
{
if [ -e "$monthbakpp"/"$project"_"$ym"_full.tar.gz ];then
echo ""$project"_"$ym"_full.tar.gz file exist!! ====`date +%Y-%m-%d-%T` " >>$log
else
tar_full
fi
}
######### chk_incremental ########
# 检查增量备份是否存在
chk_incremental()
{
while [ -e "$monthbakpp"/"$project"_"$incrementalname"_incremental.tar.gz ]
do
incrementalname=`echo "$incrementalname + 0.1" | bc `
done
}
######## tar_incremental #######
# 执行增量备份
tar_incremental()
{
cd $projectpp
echo "BEIGIN_TIME=====`date +%Y-%m-%d-%T` ==== CREATE "$project"_"$incrementalname"_incremental.tar.gz" >> $log
sleep 3
$TAR -g $gidpp/$gidshot -zcf $monthbakpp/"$project"_"$incrementalname"_incremental.tar.gz $project
echo "END_TIME========`date +%Y-%m-%d-%T` ==== CREATE "$project"_"$incrementalname"_incremental.tar.gz" >> $log
}
######## tar_full ###########
tar_full()
{
touch $gidpp/$gidshot
cd $projectpp
echo "BEIGIN_TIME=====`date +%Y-%m-%d-%T` ==== CREATE "$project"_"$fullname"_full.tar.gz" >> $log
$TAR -g $gidpp/$gidshot -zcf $monthbakpp/"$project"_"$fullname"_full.tar.gz $project
echo "END_TIME========`date +%Y-%m-%d-%T` ==== CREATE "$project"_"$fullname"_full.tar.gz" >> $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/aaa.sh
# 0 1 */1 * * /home/mmroot/zbb/aaa.sh
# tar -ztf test.tar.gz 查看备份文件里面的文件
---------------------------------代码结束----------人称可爱的分割线------------------------------------------------------
说明一下我的目录结构
挂载装数据的分区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/autobakfile.sh
修改/usr/tmp/task加入一行:
原来的这行:*/2 * * * * elinks -source http://localhost/autotasks.php
加入这行:
12 12 * * * /usr/tmp/autobakfile.sh
每天12点12分执行 这个脚本
另外注意就是 chmod +x /usr/tmp/autobakfile.sh 给予执行权限,要不然会提示没有权限
the end
㈧ centos 6.5 mysql 自动备份数据库脚本怎么写
#!/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}/log.log
#正式备份数据库
for table in $dbname; do
source=`mysqlmp -u ${dbuser} -p${dbpasswd} ${table}> ${logpath}/${backtime}.sql` 2>> ${logpath}/mysqllog.log;
㈨ centos 下mysql怎么定时备份到本地
写个sh脚本大致内容mysql.sh
mysqlmp -uroot -ptest test>/root/backup/test`date +%Y-%m-%d`.sql
然后计划任务跑下
vi /etc/crontab