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

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

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

mkdir /datalin/data

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

  1. /etc/init.d/mysqlstop
  2. tarzcvf/datalin/data/bakmysql.tar.gz/datalin/mysql
  3. //启动数据库(说明不要写进去)
  4. /etc/init.d/mysqlstart)

括号里面的是以前的想法,貌似停止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. --修改/etc/crontab
  3. vi/etc/crontab--写下
  4. 0023***root/datalin/databak

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

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

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

利用mysqldump方法,代码如下:

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

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

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

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

相关广告
  • Linux系统定时备份数据库和网站例子 Linux系统定时备份数据库和网站例子 Linux系统定时备份数据库和网站例子
相关阅读

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

2019/10/10 17:46:49 | 谷歌SEO算法 | AI科学家