转载:http://www.yangdachao.com/archives/91.html
============================================
备份的必要性,不说,相信大家都知道,下面就实践一下
话说“狡兔三窟”
- 本地版
- 邮箱版
- 网络硬盘版
- php百度云服务这个暂未实现
WordPress的数据库备份插件
wordpress有一个插件可以备份mysql数据库的脚本,创建表的脚本及数据
它就是:wp-db-backup插件
配置上邮箱,就可以指定时间间隔,周期性地进行备份了,使用非常方便
下面,我们捋一捋我们需要备份什么内容,下面就按顺序回忆一下搭建博客的过程吧
初始:一个可以通过ssh访问的centos系统
- 软件安装,就需要备份一下所需要的软件
- 软件的配置,备份一下相关的配置文件
- 网站程序
- 数据库文件
- 文章中用到的图片(媒体库)
- 一些日志文件
- …暂时就想到这些…
实现思路:shell脚本实现
1.需要备份的文件
- 一些配置脚本
1
2
3
4
5
6
7
8
9
10
11
|
backup_scripts=/data0/backup/scripts cp /data0/mysql/3306/my.cnf backup_scripts cp /data0/mysql/3306/mysql backup_scripts cp /usr/local/webserver/php/etc/php.ini backup_scripts cp /usr/local/webserver/php/etc/php-fpm.conf backup_scripts cp /usr/local/webserver/nginx/conf/nginx.conf backup_scripts cp /usr/local/webserver/nginx/conf/fcgi.conf backup_scripts cp /usr/local/webserver/nginx/sbin/cut_nginx_log.sh backup_scripts 需要修改的脚本: cp /etc/rc.local backup_scripts cp /etc/sysctl.conf backup_scripts |
- 日志文件备份:/data1/logs/
- 建站程序: /data0/software
- mysql数据库文件:/data0/mysql
- 多媒体部分:/data0/htdocs/www/wp-contents/uploads uploads内的图片、音频、视频等资源
- 网站程序部分:/data0/htdocs/www 除去wp-contents/uploads中内容
2.发送到邮件
3.任务指定时间完成,周期性完成
=====================================================================================
备份目录
1
2
3
|
mkdir -p /data0/backup/scripts/
backup=/data0/backup/ backup_scripts=/data0/backup/scripts/ |
1.备份配置文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
#!/bin/bash PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin export PATH backup=/data0/backup/ export backup backup_scripts=/data0/backup/scripts export backup_scripts package_name=${backup}scripts.tar.bz2 export package_name # 配置你要发送的邮箱和需要抄送的邮箱地址 to_email= "123@123.com 456@123.com"
c_email= "-c abc@abc.com -c def@abc.com"
export to_email export c_email if [ -d "$backup_scripts" ]; then
rm -rf $backup_scripts /*
fi # 脚本复制 cp /data0/mysql/3306/my.cnf $backup_scripts /
cp /data0/mysql/3306/mysql $backup_scripts /
cp /usr/local/webserver/php/etc/php.ini $backup_scripts /
cp /usr/local/webserver/php/etc/php-fpm.conf $backup_scripts /
cp /usr/local/webserver/nginx/conf/nginx.conf $backup_scripts /
cp /usr/local/webserver/nginx/conf/fcgi.conf $backup_scripts /
cp /usr/local/webserver/nginx/sbin/cut_nginx_log.sh $backup_scripts /
cp /etc/rc.local $backup_scripts /
cp /etc/sysctl.conf $backup_scripts /
cp ${backup}clear.sh $backup_scripts /
cp ${backup}mail_logs.sh $backup_scripts /
cp ${backup}mail_scripts.sh $backup_scripts /
cp ${backup}mail_mysqldata.sh $backup_scripts /
cp ${backup}mail_uploads.sh $backup_scripts /
cp ${backup}mail_www.sh $backup_scripts /
cp ${backup}mail_software.sh $backup_scripts /
# 删除旧包 [ -f "$package_name" ] && rm -rf $package_name
# 脚本打包 tar -cj -f $package_name /data0/backup/scripts
# 邮件发送 echo "`date " +%Y-%m-%d %H:%M:%S "`" | \
mutt -s "WordPress备份 - 配置文件(`date " +%Y-%m-%d "`)" \
-a $package_name \
$to_email $c_email
|
2.备份日志文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
#!/bin/bash PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin export PATH backup=/data0/backup/ export backup backup_scripts=/data0/backup/scripts export backup_scripts package_name=${backup}logs.tar.bz2 export package_name to_email= "123@123.com 456@123.com"
c_email= "-c abc@abc.com -c def@abc.com"
export to_email export c_email # 删除旧包 [ -f "$package_name" ] && rm -rf $package_name
# 脚本打包 tar -cj -f $package_name /data1/logs/
# 邮件发送 echo "`date " +%Y-%m-%d %H:%M:%S "`" | \
mutt -s "WordPress备份 - 日志(`date +%Y-%m-%d`)" \
-a $package_name \
$to_email $c_email
|
3.备份建站软件
太大了,打包下载吧
4.备份mysql数据库文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
#!/bin/bash PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin export PATH backup=/data0/backup/ export backup backup_scripts=/data0/backup/scripts/ export backup_scripts package_name=${backup}mysql_data.tar.bz2 export package_name to_email= "123@123.com 456@123.com"
c_email= "-c abc@abc.com -c def@abc.com"
export to_email export c_email # 脚本清除 [ -f "$package_name" ] && rm -rf $package_name
# 脚本打包 tar -cj -f $package_name /data0/mysql/
# 邮件发送 echo "`date " +%Y-%m-%d %H:%M:%S "`" | \
mutt -s "WordPress备份 - MySQL数据(`date +%Y-%m-%d`)" \
-a $package_name \
$to_email $c_email
|
5.备份多媒体部分
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
#!/bin/bash PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin export PATH backup=/data0/backup/ export backup backup_scripts=/data0/backup/scripts/ export backup_scripts package_name=${backup}uploads.tar.bz2 export package_name to_email= "123@123.com 456@123.com"
c_email= "-c abc@abc.com -c def@abc.com"
export to_email export c_email # 脚本清除 [ -f "$package_name" ] && rm -rf $package_name
# 脚本打包 tar -cj -f $package_name /data0/htdocs/www/wp-content/uploads
# 邮件发送 echo "`date " +%Y-%m-%d %H:%M:%S "`" | \
mutt -s "WordPress备份 - 多媒体数据(`date +%Y-%m-%d`)" \
-a $package_name \
$to_email $c_email
|
6.备份网站程序部分
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
#!/bin/bash PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin export PATH backup=/data0/backup/ export backup backup_scripts=/data0/backup/scripts/ export backup_scripts package_name=${backup}www.tar.bz2 export package_name to_email= "123@123.com 456@123.com"
c_email= "-c abc@abc.com -c def@abc.com"
export to_email export c_email # 脚本清除 [ -f "$package_name" ] && rm -rf $package_name
# 脚本打包 tar -cj -f $package_name /data0/htdocs/www/ \
--exclude=/data0/htdocs/www/wp-content/uploads \
/data0/htdocs/www/wp-content/cache
# 邮件发送 echo "`date " +%Y-%m-%d %H:%M:%S "`" | \
mutt -s "WordPress备份 - 网站程序(`date +%Y-%m-%d`)" \
-a $package_name \
$to_email $c_email
|
任务指定时间完成,周期性完成
1
|
crontab -e |
添加如下内容
1
2
3
4
5
|
05 00 * * * /bin/bash /data0/backup/mail_scritps.sh 10 00 * * * /bin/bash /data0/backup/mail_logs.sh 15 00 * * * /bin/bash /data0/backup/mail_mysqldata.sh 20 00 * * * /bin/bash /data0/backup/mail_uploads.sh 25 00 */7 * * /bin/bash /data0/backup/mail_www.sh |
———————————————————————–
参考:
[1] WordPress数据备份完全攻略
[2] 【翻譯】 WordPress 優化建議
[3] shell 自动发送邮件
============================================
相关推荐
wordpress低版本_wordpress3.0_wordpress优化版 wp wordpress 3 低版本可以在64 128m vps跑
给大家介绍的是在Ubuntu VPS中wordpress网站打开时提示”建立数据库连接错误”的解决办法,相信"建立数据库连接错误"大家并不陌生,最近我在做一个项目的时候就又遇到了这个问题,现在将我解决的步骤分享给大家,...
[Ubuntu][Linux][教學]_安裝設定#04_在Linode_VPS上架設Ubuntu
自动部署我的VPS_Shell_下载.zip
今天介绍一下简单的方法为自己的VPS备份。 1、使用putty登录VPS,这里不多介绍了。 2、备份网站目录:[root@www ~]# cd /web/www //进入相应的目录 [root@www www]# tar zcvf vps.tar.gz vps //使用tar打包且压缩...
INSTALAÇÃODE SERVIDOR ... 在创建网站时要求WordPress前缀前缀=真 WordPress网站的用户名用户=用户管理员 WordPress网站的密码密码= senhaadmin 通过电子邮件发送WordPress网站电子邮件= emailadmin 帕索4 e
linux中FTP自动备份VPS脚本.docx
主要介绍了VPS中使用LNMP安装WordPress教程,需要的朋友可以参考下
openssl组件在VPS空间上的设置 多出注意事项已经标识
本篇文章主要介绍了CentOS 部署 flask项目的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
vps安装 服务器安全配置,全是精华1.系统盘和站点放置盘必须设置为NTFS格式,方便设置权限.2.系统盘和站点放置盘除administrators 和system的用户权限全部去除3.启用windows自带防火墙,只保留有用的端口,比如远程和...
大概的想法如下: 使用 Putty 自带的 plink.exe 连接到 VPS 上,运行备份并退出登录; 接着使用 Putty 自带的 pscp.exe 将备份复制到本机; 添加一个计划任务,每天/周自动运行一次,实现定时备份。 代码如下: ...
VPS详细介绍注意修改注册表前一定要先备份一下注册表,备份方法。在 运行>regedit,选择 文件》导出 ,取个文件名,导出即可,如果修改注册表失败,可以找到导出的注册表文件双击运行即可。)
deploy_vps 使用Terraform部署数字海洋VPS 如果您使用的是macOS或Linux,则可以下载带有curl的Terraform。 在macOS上,使用以下命令下载Terraform并将其放置在主目录中:curl -o〜/ terraform.zip 在Linux上,使用...
现在看到越来越多的VPSer开始使用VPS,在使用VPS的时候一个很重要的任务就是VPS提供备份,虽然一些IDC也提供VPS的备份服务,但要不就是收费,都不太适合我们这些VPSer们使用
因为本bolg是架设在vps上的,空间商又没有提供备份的功能,所以说哪天vps挂了,我的网站也就跟着挂了
配置vps上的msf(第三十二课).docx
此外,VPS8703还具备可编程的开关频率功能,可以根据不同的应用需求进行调整,同时,它内置了精确的死区时间控制电路,防止在各种工作条件下出现功率MOSFET的共通现象,进一步提高了系统的稳定性。 为了保护系统...
由于我比较推荐使用VPS的时候不要用面板,所以操作备份也只能在SSH中进行。 首先,关于数据库的备份,如果你数据库比较小,直接可以登陆我们的phpmyadmin然后导出来,如果数据库比较大,可以用到程序自带的备份功能...