加入收藏 | 设为首页 | 会员中心 | 我要投稿 银川站长网 (https://www.0951zz.com/)- 云通信、基础存储、云上网络、机器学习、视觉智能!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

Linux系统定时备份数据库与网站例子

发布时间:2023-04-24 11:32:26 所属栏目:Linux 来源:
导读:下面本站长给大家整理一些关于在linux系统中对于mysql数据库与网站文件备份的命令,这些方法非常的好,希望对各位会带来帮助.首先创建一个备份文件,代码如下:mkdir /datalin/datavi /datalin/databak 写下下面的内容,停

下面本站长给大家整理一些关于在linux系统中对于mysql数据库与网站文件备份的命令,这些方法非常的好,希望对各位会带来帮助.

首先创建一个备份文件,代码如下:

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

//phpfensi.com    

ftp -v -n 127.0.0.1<<EOF

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。

(编辑:银川站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!