我原本是使用Vastar的第一个脚本方案来自动备份WordPress数据库并邮件发送的,不过后来因为更换服务器,不知道为什么造成了会二次备份并有错误提示。刚好Vastar又给了一个更简洁的方法,于是昨天就替换掉了。

不过Vastar的是同时备份数据库和网站文件的,而我是每天一备份数据库,网站文件是修改后才备份的,所以需要修改一下。虽然可以将网站目录设为空便可不备份网站文件,不过我决定省掉这些步骤。

修改后的代码如下

#!/bin/bash

WP_CONFIG=/your-space-dir/your-site-dir/wp-config.php

## 上面路径是为了获取数据库信息

## 也可以用下面这些直接填写,然后去掉上面那行

# S_DB_USER=db_user

# S_DB_PASSWORD=db_password

# S_DB_NAME=db_name

## 收信箱

TO=xxx@gmail.com

## 获取数据库信息

if [ -f WP_CONFIG ]

then

DB_USER=`grep "DB_USER"WP_CONFIG |awk '{print 2}'|awk -F ')' '{print1}'|sed "s/'//g"`

DB_PASSWORD=`grep "DB_PASSWORD" WP_CONFIG |awk '{print2}'|awk -F ')' '{print 1}'|sed "s/'//g"`

DB_NAME=`grep "DB_NAME"WP_CONFIG |awk '{print 2}'|awk -F ')' '{print1}'|sed "s/'//g"`

else

DB_USER=S_DB_USER

DB_PASSWORD=S_DB_PASSWORD

DB_NAME=S_DB_NAME

fi

# 切换到数据库备份目录

cd /your-space-dir/backup-store-dir

#删除之前在这个文件夹下的备份

if [ -e *.sql.gz ]

then

rm *.sql.gz

fi

## 备份数据库并使用gzip压缩,然后更改权限

## 使用2010-09-10.sql.gz的格式是为了使命名明显,可自定义

STAMP=`date +%Y-%m-%d`

mysqldump --add-drop-table -uDB_USER -pDB_PASSWORDDB_NAME |gzip > STAMP.sql.gz

chmod 600STAMP.sql.gz

## 发送邮件

(echo "Database Backup for my site";uuencode STAMP.sql.gzSTAMP.sql.gz)| mail -s 'Database Backup' $TO

exit

使用方法

很简单,将其扔到空间的某个位置(即代码中的backup-store-dir),权限设为700,然后配置一下定时任务即可。关于定时任务的使用,可以参照Vastar的第一个脚本方案。

一些小提示

Windows下的不要使用记事本来编辑以上代码,请使用UltraEdit等编辑器。编码使用utf-8,换行格式选择Unix,无BOM签名。

关于附件命令uuencode,切记其带两个参数,第二个参数附件标题必不可少,否则附件会为空。

关于定时任务的时间,如果需要准确时间备份,请计算上服务器时区。

在测试通过后,如果使用gmail,搭配过滤器,自动添加标签、存档,一切即可无声无息地进行。QQ邮箱在这方面好像也有一点长进。

mysql自动备份发邮箱,定时任务自动备份数据库并邮件发送相关推荐

  1. 使用qq邮箱服务器来实现laravel的邮件发送

    本文来自pilishen.com----原文链接; 欢迎作客我们的php&Laravel学习群:109256050 在我们的Laravel底层核心技术实战揭秘 视频中,我们带领大家使用了专业的 ...

  2. mysql备份到邮箱_mysql自动备份发邮件到指定邮箱

    mysql自动备份发邮件到指定邮箱 首先 编写 导出的 命令 使用了 mysqladmin ping mysqldump 然后是 添加附件到邮件中发送 使用了对应的com 最后 暂停 看情况 参考: ...

  3. Navicat 自动运行 备份发邮箱

    今天记录一个很重要的事情,就是当我们开发的时候,难免会对数据库进行一些操作,创表,删表,以及数据的处理,可是刚好不小心这张表昨天删了,今天又想看看,又没有备份,怎么办,这个时候就需要用到这个自动备份了 ...

  4. linux定时备份到邮箱,定时任务备份数据库并发送邮箱

    定时备份数据库文件.并发送到邮箱中. 使用 crontab   定时任务,执行sh脚本备份现有的数据库, 并通过mutt 这个软件发送到邮箱中. 上面是使用原理.  来看看操作步骤: 第一.建立sh脚 ...

  5. 你有没有觉得邮件发送人固定配置在yml文件中是不妥当的呢?SpringBoot 动态设置邮件发送人

    明月当天,不知道你有没有思念的人 前言 之前其实已经写过SpringBoot异步发送邮件,但是今天在一个小项目中要用到发送邮件时,我突然觉得邮件发送人只有一个,并且固定写在yml文件中,就是非常的不妥 ...

  6. Python邮件发送SMATP模块详细总结(含qq邮箱及163邮箱服务开启及授权码获取,多附件发送)

    Python实现电子邮件发送 在生活中或许我们多数都在用微信或者是QQ,但是工作中就会涉及邮件了,我也是最近在工作中用到了,所以找了些资料,有的较为完备有的就特别零散,所以自己也来整理分享一下.这里主 ...

  7. linux mysql 邮件_linux中mysql 自动备份发邮件 到指定邮箱代码

    首先 编写 导出的 命令 使用了 mysqladmin ping mysqldump 然后是 添加附件到邮件中发送 使用了对应的com 最后 暂停 看情况 参考: http://hi.baidu.co ...

  8. mysql 备份 发送邮件_mysql 自动备份发邮件 到指定邮箱

    首先 编写 导出的 命令 使用了 mysqladmin ping mysqldump 然后是 添加附件到邮件中发送 使用了对应的com 最后 暂停 看情况 参考: 见程序: @echo on :: m ...

  9. mysql 自动备份 发邮件_MYSQL自动备份并发送邮件工具

    最近在开发小程序,由于服务器只有一台,所以不能数据库异机备份,出于数据安全的考虑,就做了一个数据库定时备份并发送邮件到自己的邮箱的小工具,先看下工具界面 这个工具主要涉及到三个部分 1.MYSQL自动 ...

最新文章

  1. 又居家办公了,要签合同怎么办?
  2. 如何在HTTP POST请求中发送参数?
  3. python编写ftp客户端_用Python写FTP客户端程序
  4. 计算机视觉书籍学习记录——1最近点匹配
  5. Android开发笔记(六十三)HTTP访问的通信方式
  6. C# 调用并执行SQL脚本文件
  7. 使用阿里云对象存储OSS搭建网盘
  8. canvas画带圆角矩形
  9. WIN2000故障修复之故障恢复控制台篇
  10. 换手机了备忘录怎么恢复?专家为你解答数据恢复问题
  11. android 控制POS机图文打印(一)
  12. JAVA中的CAS算法
  13. 低速接口之SPI接口,分类,四种模式,特点
  14. 辨析:分段函数是不是初等函数?
  15. 你以为大厂的代码就不烂了?烂成一坨屎...
  16. HoloLens2电脑投屏设置及IP访问问题解决
  17. media recovery oracle,oracle 数据块损坏 Oracle 数据块损坏与恢复详解
  18. Python大数据分析与应用—2020年中国高校毕业生薪酬指数排名
  19. 螺丝头部及其相关知识点
  20. JAVA毕业设计开放式实验室预约系统计算机源码+lw文档+系统+调试部署+数据库

热门文章

  1. Linux 脚本、 正则表达式 等
  2. python 人脸关键点检测_opencv+python+dlib人脸关键点检测、实时检测
  3. shell 删除了hdfs 文件_从零开始学大数据(三) Shell操作HDFS文件系统-中
  4. python离群点检测方法分几类_数据分析 第五篇:离群点检测
  5. C语言趣味程序百例精解
  6. 数据结构探险——线性表篇
  7. frp对http协议应用
  8. CUDA线程、线程块、线程束、流多处理器、流处理器、网格概念的深入理解
  9. Android dumpsys命令详细使用
  10. UILabel添加图片之富文本的简单应用