Linux系统定时备份数据库和网站例子
发布时间:2022-06-20 12:46:20 所属栏目:Linux 来源:互联网
导读:下面本站长给大家整理一些关于在linux系统中对于mysql数据库与网站文件备份的命令,这些方法非常的好,希望对各位会带来帮助. 首先创建一个备份文件,代码如下: mkdir /datalin/data vi /datalin/databak 写下下面的内容,停止数据库,lnmp环境,说明不要写进去:
下面本站长给大家整理一些关于在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。 (编辑:锡盟站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐