欢迎来到个人简历网!永久域名:gerenjianli.cn (个人简历全拼+cn)
当前位置:首页 > 范文大全 > 实用文>Linux系统定时备份数据库和网站例子linux操作系统

Linux系统定时备份数据库和网站例子linux操作系统

2023-10-09 09:05:34 收藏本文 下载本文

“ggzzss”通过精心收集,向本站投稿了5篇Linux系统定时备份数据库和网站例子linux操作系统,以下是小编收集整理后的Linux系统定时备份数据库和网站例子linux操作系统,希望对大家有所帮助。

Linux系统定时备份数据库和网站例子linux操作系统

篇1:Linux系统定时备份数据库和网站例子linux操作系统

首先创建一个备份文件

代码如下复制代码

mkdir /datalin/data

vi /datalin/databak 写下下面的内容

(//停止数据库【lnmp环境】 (说明不要写进去)

/etc/init.d/mysql stop

tar zcvf /datalin/data/bakmysql.tar.gz /datalin/mysql

//启动数据库 (说明不要写进去)

/etc/init.d/mysql start)

括号里面的是以前的想法,貌似停止mysql服务不好!

听了朋友(友链中的技术小强)的想法后,这样做:

mysqldump -uroot -p密码 数据库名 >/datalin/mysql/名称.sql -u后面没有空格 -p后面没有空格

这个命令是导出命令 如果以后想导入mysql 则用 mysql -uroot -p密码 库名 < 库备份.sql (谢谢技术小强)

代码如下复制代码

tar zcvf /datalin/data/bakwwwroot.tar.gz /datalin/wwwroot

如果需要每次保存备份文件需要创建文件的时候用date函数来为文件夹命名!

修改文件属性 使其可执行

代码如下复制代码

chmod +x /datalin/databak

修改/etc/crontab

vi /etc/crontab 写下

00 23 * * * root /datalin/databak

意思是:每天23:00 执行备份

重启crond

代码如下复制代码

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

OK了!

每天在/datalin/data 就可以看到备份的文件了! 你直接下载就可以!

利用mysqldump方法

代码如下复制代码

#!/bin/sh

# 定义变量,请根据具体情况修改

# 定义脚本目录

scriptsDir=`pwd`

# 定义用于备份数据库的用户名和密码

user=root

userPWD=123456

# 定义备份数据库名称

dbNames=(jishubu xingzhengbu shichangbu)

# 定义备份目录

dataBackupDir=/home/backup

# 定义备份日志文件

logFile=$dataBackupDir/log/mysqlbackup.log

# DATE=`date -I`

DATE=`date -d “now” +%Y%m%d`

echo `date -d “now” “+%Y-%m-%d %H:%M:%S”` >$eMailFile

for dbName in ${dbNames[*]}

do

# 定义备份文件名

dumpFile=$dataBackupDir/db/$dbName-$DATE.sql.gz

# 使用mysqldump备份数据库,请根据具体情况设置参数

/usr/local/mysql/bin/mysqldump -u$user -p$userPWD $dbName | gzip >$dumpFile

if [[ $? == 0 ]]; then

echo “DataBase Backup Success!” >>$eMailFile

else

echo “DataBase Backup Fail!” >>$emailFile

fi

# 写日志文件

echo “================================” >>$logFile

cat $eMailFile >>$logFile

echo $dumpFile >>$logFile

done

# ftp上传备份

for dbName in ${dbNames[*]}

do

file1=$dbName-$DATE.sql.gz

ftp -v -n 127.0.0.1<

user jishubu 123456

bi

cd mysql

lcd $dataBackupDir/db

mput $file1

bye

EOF

done

本shell运行前请手动建立/home/backup/db /home/backup/log 目录,

shell 运行前记得添加执行权限 chmod 777 databasebackup.sh

修改改好后添加定时任务

crontab -e

01 03 * * * /root/databasebackup.sh >>/home/backup/log/crontablog.txt

篇2:linux系统中下WEB网站备份脚本(网站文件/数据库)linux操作系统

本文章来给各位同学详细介绍在linux中如何实现系统自动定时备份网站文件与网站数据库吧,有需要了解的朋友可进入参考参考,

简单的网站备份脚本

代码如下复制代码

#!/bin/bash

#backup database

mypw=CactiEZ

newtime=$(date +%Y%m%d)

if [ -d /var/www/backup/ ];then

mysqldump -u root -p$mypw DB >/var/www/backup/$newtime-Database.sql

else

mkdir /var/www/backup/

mysqldump -u root -p$mypw DB >/var/www/backup/$newtime-Database.sql

fi

tar -zcvf /var/www/backup/$newtime-www.tar.gz /var/www/

find /var/www/backup/ -mtime +4 -exec rm -rf {} ;

还有一个更高级的自动备份网站/数据库/绑米信息/自动上传FTP脚本

本脚本特色:

1.纯zip压缩,1-9可自行调整压缩率

2.整台VPS备份,还原方便,非常适合站群

3.加入压缩密码,可以自己设置

4.加入绑米信息伪静态压缩,防止伪静态弄丢

5.请确保在home目录下有backup目录,如果没有请执行 mkdir /home/backup

6.还原数据库请参考:导入数据库方法

最后更新时间:8月25日

centos安装zip

yum install zip

debian安装zip

apt-get install zip

下载编辑

wget -c www.***.com/soft/beifen.sh

vi beifen.sh

只编辑注解为需要修改的地方

【脚本开始】

代码如下复制代码

#!/bin/bash

#下面的参数是你要修改的

MYSQL_USER=root                            #mysql用户名

MYSQL_PASS=mysql密码                     #mysql密码

FTP_USER=FTP用户名                             #ftp用户名

FTP_PASS=FTP密码                        #ftp密码

FTP_IP=FTP地址                         #ftp地址

FTP_backup=FTP目录                         #ftp上存放备份文件的目录,这个要自己得ftp上面建的

WEB_DATA=/home/wwwroot/                         #要备份的网站数据

WEB_BANGMI=/usr/local/nginx/conf/                         #要备份的绑米信息

WEB_MULU=/home/backup                   #备份文件存放目录

WEB_MIMA=zhujima                   #备份时候的密码

WEB_YASUOLV=1                              #压缩率 1-9 如果VPS没有zip,请安装zip

#上面是你要修改的地方

#删除淘宝客缓存,属于自定义设置,

可自行操作

#rm -rf /home/wwwroot/1.com/Apicache/*

#定义数据库的名字和旧数据库的名字

DataBakName=Data_$(date +“%Y%m%d”).zip      #定义数据库名字

WebBakName=Web_$(date +%Y%m%d).zip          #定义备份网站名字

BANGMI=BANGMI_$(date +%Y%m%d).zip           #定义绑米备份名字

ldData=Data_$(date -d -5day +“%Y%m%d”).zip #定义5天前数据库名字

ldWeb=Web_$(date -d -5day +“%Y%m%d”).zip   #定义5天前网站名字

BANGMIshan=BANGMI_$(date -d -5day +“%Y%m%d”).zip  #定义5天前绑米名字

#删除本地3天前的数据

rm -rf $WEB_MULU/Data_$(date -d -3day +“%Y%m%d”).zip $WEB_MULU/Web_$(date -d -3day +“%Y%m%d”).zip $WEB_MULU/BANGMI_$(date -d -3day +“%Y%m%d”).zip

#导出全部数据库

cd $WEB_MULU

/usr/local/mysql/bin/mysqldump -u$MYSQL_USER -p$MYSQL_PASS --all-databases >$(date +“%Y%m%d”).sql

#压缩数据库文件为一个文件

zip -r -$WEB_YASUOLV -P $WEB_MIMA $DataBakName $WEB_MULU/*.sql

rm -rf $WEB_MULU/*.sql

#压缩网站数据

cd $WEB_DATA

zip -r -$WEB_YASUOLV -P $WEB_MIMA $WebBakName ./*

mv $WebBakName $WEB_MULU/$WebBakName

cd $WEB_MULU

#压缩绑米信息

cd $WEB_BANGMI #进入绑米目录

zip -r -$WEB_YASUOLV -P $WEB_MIMA $BANGMI ./*

mv $BANGMI $WEB_MULU/$BANGMI

#上传到FTP空间,删除FTP空间5天前的数据

cd $WEB_MULU #进入备份目录

ftp -v -n $FTP_IP << END

user $FTP_USER $FTP_PASS

type binary

cd $FTP_backup

delete $BANGMIshan

delete $OldData

delete $OldWeb

put $DataBakName

put $WebBakName

put $BANGMI

bye

END

加入权限,写入定时执行

chmod 777 /root/beifen.sh

crontab -e

30 21 * * * /root/beifen.sh

篇3:linux 备份数据库与网站文件详解linux操作系统

最近刚使用linux系统但网站数据还是希望有个备份功能,今天找了一些手动备份数据库与文件与自动备份的脚本分享给各位同学呀,

例1,手动备份数据库与网站文件

代码如下复制代码

#!/bin/sh

# 文 件 名: rptsmain.sh

# 版   权: Copyright (shell) -2007

# 版 本 号: V1.0

# 功能描述: 数据备份

# 创 建 人: xxxxx

# 日   期: 2007/10/26

# 修 改 人:xxxxxxx

# 日   期: 2007/10/26

#程序开始

TODAY=`date “+%Y%m%d”`

WORKDATE=$TODAY

BACKDIR='/databak/'

tput init

clear

while :

do

tput clear

echo “”

echo “”

echo “”

echo “”

echo “”

echo “”

echo “”

echo “”

echo “”

echo “

数据备份程序 V1.0

Copyright (shell)

┏━━━━━━━━━━━━━━━━━━━━━━━━━━━┓

┃                                                     ┃

┃                1.    开始备份数据                 ┃

┃                                                     ┃

┃                2.    备份数据写入磁带             ┃

┃                                                     ┃

┃            ----------------------------------      ┃

┃                                                     ┃

┃                0.    退出系统                     ┃

┃                                                     ┃

┗━━━━━━━━━━━━━━━━━━━━━━━━━━━┛

请选择[ ] ”

read choice

case $choice in

1):

clear

echo “开始BCP数据库数据...”

DATABASEDIR=$BACKDIR/database

if [ -d $DATABASEDIR ]; then

rm -rf $DATABASEDIR/*

else

mkdir $DATABASEDIR

fi

#备份webdb数据库

mkdir $DATABASEDIR/webdb

total=`cat webdb.table|wc -l`

current=0

for table in `cat webdb.table`

do

current=$current+1

/sybase/OCS-12_5/bin/bcp webdb..$table out

$DATABASEDIR/aadb/$table.bcp -Usa -Ppwd -SServer -Jiso_1 -n -T409600

done

#备份abcdb数据库

mkdir $DATABASEDIR/abcdb

total=`cat abcdb.table|wc -l`

current=0

for table in `cat abcdb.table`

do

current=$current+1

/sybase/OCS-12_5/bin/bcp abcdb..$table out

$DATABASEDIR/bbdb/$table.bcp -Usa -Ppwd -SServer -Jiso_1 -n -T409600

done

echo “开始打包压缩数据库备份数据...”

cd $BACKDIR

tar uvf database-$WORKDATE.tar database/*

echo “正在删除临时文件...”

rm -rf $DATABASEDIR

echo “开始打包压缩数据文件...”

echo “(1)开始打包Tomcat-ABC网站数据文件...”

SOuRCEDIR='/aaaa/uploads'

cd $BACKDIR

#tar czf abc-files-$WORKDATE.tar.gz $SOuRCEDIR/ISO/*

echo “(2)开始打包Websphere经管网数据文件...”

cd $BACKDIR

#tar czf web-files-$WORKDATE.tar.gz /upload/images/807/*

echo “数据备份完成,按任意键返回...”

cd $HOME

read return

;;

2):

;;

0):

break

;;

esac

done

例2,自动定时备份数据库

代码如下复制代码

#!/bin/bash

#Setting

#设置数据库名,数据库登录名,密码,备份路径,日志路径,数据文件位置,以及备份方式

#默认情况下备份方式是mysqldump,还可以是mysqldump,mysqldotcopy,如果注释掉第

#18行,则默认以tag的方式备份

#默认情况下,用root(空)登录mysql数据库,备份至/root/dbxxxxx.tgz

DBName=mysql

DBUser=root

DBPasswd=123456

BackupPath=/home/wang/www/backup/mysql/mysqlbackup

LogFile=/home/wang/www/backup/mysql/db.log

DBPath=/var/lib/mysql/

#BackupMethod=mysqldump

#BackupMethod=mysqlhotcopy

#BackupMethod=tar

#Setting End

NewFile=“$BackupPath”db$(date +%y%m%d).tgz

DumpFile=“$BackupPath”db$(date +%y%m%d)

ldFile=“$BackupPath”db$(date +%y%m%d --date='5 days ago').tgz

echo “-------------------------------------------” >>$LogFile

echo $(date +“%y-%m-%d %H:%M:%S”) >>$LogFile

echo “--------------------------” >>$LogFile

#Delete Old File

if [ -f $OldFile ]

then

rm -f $OldFile >>$LogFile 2>&1

echo “[$OldFile]Delete Old File Success!” >>$LogFile

else

echo “[$OldFile]No Old Backup File!” >>$LogFile

fi

if [ -f $NewFile ]

then

echo “[$NewFile]The Backup File is exists,Can’t Backup!” >>$LogFile

else

case $BackupMethod in

mysqldump*)

if [ -z $DBPasswd ]

then

mysqldump -u $DBUser --opt $DBName >$DumpFile

else

mysqldump -u $DBUser -p$DBPasswd --opt $DBName >$DumpFile

fi

tar czvf $NewFile $DumpFile >>$LogFile 2>&1

echo “[$NewFile]Backup Success!” >>$LogFile

rm -rf $DumpFile

;;

mysqlhotcopy*)

rm -rf $DumpFile

mkdir $DumpFile

if [ -z $DBPasswd ]

then

mysqlhotcopy -u $DBUser $DBName $DumpFile >>$LogFile 2>&1

else

mysqlhotcopy -u $DBUser -p $DBPasswd $DBName $DumpFile >>$LogFile 2>&1

fi

tar czvf $NewFile $DumpFile >>$LogFile 2>&1

echo “[$NewFile]Backup Success!” >>$LogFile

rm -rf $DumpFile

;;

*)

/etc/init.d/mysqld stop >/dev/null 2>&1

tar czvf $NewFile $DBPath >>$LogFile 2>&1

/etc/init.d/mysqld start >/dev/null 2>&1

echo “[$NewFile]Backup Success!” >>$LogFile

;;

esac

fi

echo “-------------------------------------------”

echo

#lftp -f lftp.sh 如果有FTP可同时上传ftp中,

再利用crontab命令生成/var/spool/cron/root 文件

crontab –e  (就会打开一个编辑窗口,第一行会有内容格式的提示,在此输入命令)

m h dom mon dow  command (具体意义表示:分钟 小时 日期 月份 星期 命令,在某月(mon)的某天(dom)或者星期几(dow)的几点(h,24小时制)几分(m)执行某个命令(command))

如: 10 02 * * * /home/backup/autobackupmysql.sh (表示零晨二点十分执行备份脚本)

例3,我们自己的一个Linux VPS 自动备份数据到远程主机FTP

如果系统上没有ftp命令,先执行yum install -y ftp进行安装。

需要先建立/home/backup/目录,该目录不能用作其他用途。

代码如下复制代码

#!/bin/bash

#FTP信息

FTP_IP=

FTP_USER=

FTP_PASS=

#备份数据库

/etc/init.d/mysqld stop

MySQLBakName=MySQL_$(date +”%Y%m%d”).tar.gz

tar zcf /home/backup/$MySQLBakName /var/lib/mysql

/etc/init.d/mysqld start

#备份网站

WebBakName=Web_$(date +%Y%m%d).tar

tar cf /home/backup/$WebBakName /home/www

#操作FTP

ldMySQL=MySQL_$(date -d -1day +”%Y%m%d”).tar.gz

ldWeb=Web_$(date -d -1day +”%Y%m%d”).tar

cd /home/backup/

/usr/bin/ftp -v -n $FTP_IP << EOF

user $FTP_USER $FTP_PASS

type binary

put $MySQLBakName

put $WebBakName

delete $OldMySQL

delete $OldWeb

bye

EOF

rm -rf /home/backup/*.tar*

篇4:Linux定时自动备份数据库并上传至FTP的脚本linux操作系统

本文章来给大家介绍一段Linux定时自动备份数据库并上传至FTP的脚本代码,有需要了解的朋友可进入参考,

适用于使用lnmp环境下定时自动备份网站和mysql数据库并上传至FTP:

代码如下复制代码

•#!/bin/bash

•MYSQL_USER=root

•MYSQL_PASS=root

•FTP_USER=ftp

•FTP_PASS=123456

•FTP_IP=www.is36.com

•FTP_backup=/public_html/

•WEB_DATA=/home/wwwroot/

•DataBakName=Data_$(date +“%Y%m%d”).tar.gz

•WebBakName=Web_$(date +%Y%m%d).tar.gz

•OldData=Data_$(date -d -5day +“%Y%m%d”).tar.gz

•OldWeb=Web_$(date -d -5day +“%Y%m%d”).tar.gz

•rm -rf /home/backup/Data_$(date -d -3day +“%Y%m%d”).tar.gz /home/backup/Web_$(date -d -3day +“%Y%m%d”).tar.gz

•cd /home/backup

•for db in `/usr/local/mysql/bin/mysql -u$MYSQL_USER -p$MYSQL_PASS -B -N -e 'SHOW DATABASES' | xargs`; do

•   (/usr/local/mysql/bin/mysqldump -u$MYSQL_USER -p$MYSQL_PASS ${db} | gzip -9 - >${db}.sql.gz)

•done

•tar zcfP /home/backup/$DataBakName /home/backup/*.sql.gz

•rm -rf /home/backup/*.sql.gz

•tar zcfP /home/backup/$WebBakName $WEB_DATA

•ftp -i -n << !

•open $FTP_IP

•user $FTP_USER $FTP_PASS

•bin

•lcd /home/backup/

•cd $FTP_backup

•delete $OldData

•delete $OldWeb

•put $DataBakName

•put $WebBakName

•bye

篇5:linux网站数据与mysql数据库自动备份代码linux操作系统

linux中使用自动备份功能其实就是我们提交写好要备份的shell脚本之后我们再使用linux中的crontab 命令进行定时执行备份或删除以前的备份数据了,下面看几个例子

定时备份网站数据

代码如下复制代码

#!/bin/bash

PATH=/bin:/usr/bin:/sbin:/usr/sbin;

export PATH;

tar zcvf /web/backup/bak.$(date +%Y-%m-%d).tar.gz /web/www/www.111cn.net

find /web/backup -type f -mtime +2 -exec rm {} ;

第二行:导入环境变量

第三行,把指定目录打个压缩包/web/www/www.111cn.net/目录进行大把,存到指定的目录:/web/backup/中,文件是当前的年月日

第四行:删除两天前的备份文件

mysql自动备份(可删除几天前的数据)

代码如下复制代码#!/bin/bash

export PATH=$PATH:/bin:/usr/bin:/usr/local/bin

find /web/backup/mysqlbak/ -mtime +7 -exec rm {} ;#注意:{}和之间有个空格的

mysqldump -uroot -pganggang11560. -B blog >/web/backup/mysqlbak/www.mapenggang.com.$(date +%Y-%m-%d-%k-%m-%S).sql

第一行:就不说了

第二行:导入环境变量,因为在定时任务的时候是没有环境变量的,所以导入一下下,

linux网站数据与mysql数据库自动备份代码linux操作系统

传送门

第二行:在/web/backup/mysqlbak/中查找最后修改时间是五天前的文件,并执行 rm命令,{}是将查找的文件名传入!

第三行:mysqldump命令备份数据库,使用root用户连接,导出blog表,将备份存放在/web/backup/mysqlbak/目录下,文件名为:blog加上备份的年月日时分秒

代码如下复制代码

chmod 777 ./bak.sh#给脚本执行权限

crontab -e #修改定时任务

30 4 * * * /web/backup/bak.sh #每天的凌晨四点半执行

【Linux系统定时备份数据库和网站例子linux操作系统】相关文章:

1.windows下计划任务自动备份mysql数据库方法Windows服务器操作系统

2.ubuntu系统中文件和内容查找命令总结linux操作系统

下载word文档
《Linux系统定时备份数据库和网站例子linux操作系统.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度: 评级1星 评级2星 评级3星 评级4星 评级5星
点击下载文档

文档为doc格式

Linux系统定时备份数据库和网站例子linux操作系统相关文章
最新推荐
猜你喜欢
  • 返回顶部