PHP群:95885625 Hbuilder+MUI群:81989597 站长QQ:634381967
    您现在的位置: 首页 > 服务器 > Linux教程 > 正文

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

    作者:admin来源:网络浏览:时间:2020-09-30 00:07:50我要评论
    导读:下面本站长给大家整理一些关于在linux系统中对于mysql数据库与网站文件备份的命令,这些方法非常的好,希望对各位会带来帮助.首先创建一个备...

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

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

    mkdir /datalin/data

    vi /datalin/databak 写下下面的内容,停止数据库,lnmp环境,说明不要写进去:

    1. /etc/init.d/mysql stop 
    2. tar zcvf /datalin/data/bakmysql.tar.gz /datalin/mysql 
    3. //启动数据库 (说明不要写进去) 
    4. /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函数来为文件夹命名,修改文件属性,使其可执行,代码如下:

    1. chmod +x /datalin/databak 
    2.  
    3. --修改/etc/crontab 
    4.  
    5. vi /etc/crontab --写下 
    6.  
    7. 00 23 * * * root /datalin/databak 

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

    重启crond:/etc/rc.d/init.d/crond restart

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

    利用mysqldump方法,代码如下:

    1. #!/bin/sh 
    2.           
    3. # 定义变量,请根据具体情况修改 
    4. # 定义脚本目录 
    5. scriptsDir=`pwd` 
    6.           
    7. # 定义用于备份数据库的用户名和密码 
    8. user=root 
    9. userPWD=123456 
    10.           
    11. # 定义备份数据库名称 
    12. dbNames=(jishubu xingzhengbu shichangbu) 
    13.           
    14. # 定义备份目录 
    15. dataBackupDir=/home/backup 
    16.           
    17. # 定义备份日志文件 
    18. logFile=$dataBackupDir/log/mysqlbackup.log 
    19.           
    20. DATE=`date -I` 
    21. DATE=`date -d "now" +%Y%m%d` 
    22.           
    23. echo `date -d "now" "+%Y-%m-%d %H:%M:%S"` > $eMailFile 
    24.           
    25. for dbName in ${dbNames[*]} 
    26. do 
    27. # 定义备份文件名 
    28. dumpFile=$dataBackupDir/db/$dbName-$DATE.sql.gz 
    29.           
    30. # 使用mysqldump备份数据库,请根据具体情况设置参数 
    31. /usr/local/mysql/bin/mysqldump -u$user -p$userPWD $dbName | gzip > $dumpFile 
    32. if [[ $? == 0 ]]; then 
    33. echo "DataBase Backup Success!" >> $eMailFile 
    34. else 
    35. echo "DataBase Backup Fail!" >> $emailFile 
    36. fi 
    37.           
    38. # 写日志文件 
    39. echo "================================" >> $logFile 
    40. cat $eMailFile >> $logFile 
    41. echo $dumpFile >> $logFile 
    42.           
    43. done 
    44.           
    45.           
    46. # ftp上传备份 
    47. for dbName in ${dbNames[*]} 
    48. do 
    49. file1=$dbName-$DATE.sql.gz 
    50. //www.bcty365.com 
    51.           
    52. ftp -v -n 127.0.0.1<<EOF 
    53. user jishubu 123456 
    54. bi 
    55. cd mysql 
    56. lcd $dataBackupDir/db 
    57. mput $file1 
    58. bye 
    59. EOF 
    60.           
    61. done 

    本shell运行前请手动建立/home/backup/db /home/backup/log 目录,shell 运行前记得添加执行权限 chmod 777 databasebackup.sh

    修改改好后添加定时任务:

    1. crontab -e 
    2.  
    3. 01 03 * * * /root/databasebackup.sh >>/home/backup/log/crontablog.txt

    转载请注明(B5教程网)原文链接:https://b5.mxunkeji.com/content-121-1688-1.html
    相关热词搜索: