MySQL 数据库自动备份

首先创建一个 sh 脚本文件并保存,比如保存到 /usr/local/sbin/autoback_mysql.sh

#!/bin/bash

# 日期文件夹格式,比如:YYYYMMDD

DATE=$(date +"%Y%m%d")

# 备份文件保存目录 (记得创建这个目录)

BACKUP_DIR="/backup/mysql"

# MySQL 登陆信息

MYSQL_USER="root"
MYSQL_PASSWORD="YOURSECUREPASSWORD"

# MySQL 执行文件路径 (不需要更改)

MYSQL=/usr/bin/mysql
MYSQLDUMP=/usr/bin/mysqldump

# MySQL 忽略备份的数据库

SKIPDATABASES="Database|information_schema|performance_schema|mysql"

# 保存最近多少天内的备份 (超过天数的备份会被自动删除)

RETENTION=14

# ---- 下面的代码请不要修改 ------------------------------------------
#
# 创建按日期保存备份的文件夹

mkdir -p $BACKUP_DIR/$DATE

# 获取所有数据库列表

databases=`$MYSQL -u$MYSQL_USER -p$MYSQL_PASSWORD -e "SHOW DATABASES;" | grep -Ev "($SKIPDATABASES)"`

# 存储数据库到文件,并使用 gzip 压缩

for db in $databases; do
echo $db
$MYSQLDUMP --force --opt --user=$MYSQL_USER -p$MYSQL_PASSWORD --skip-lock-tables --events --databases $db | gzip > "$BACKUP_DIR/$DATE/$db.sql.gz"
done

# 删除超过天数的备份文件夹

find $BACKUP_DIR/* -mtime +$RETENTION -exec rm {} \;

给 sh 脚本文件可运行权限

chmod 755 /usr/local/sbin/autoback_mysql.sh

创建一个计划任务,每天凌晨 1 点运行这个脚本

# 编辑 crontab 文件
nano /etc/crontab

# 增加一行
0 1 * * * root /usr/local/sbin/autoback_mysql.sh

重启计划任务服务,让更改生效

service cron restart

 

Build lastest nginx and ngx_pagespeed in Ubuntu 14.04

以前写过一篇在 Ubuntu 12.04 LTS 上面部署 ngx_pagespeed 的文章,现在 Ubuntu LTS 版本已经更新为 14.04 了,ngx_pagespeed 部署的方法也有稍许改变,所以就更新一片文章,记录一下!

PageSpeed 是谷歌开发的一个服务器过滤模块,可以在服务器上自动将网页性能最佳实践应用到页面和相关资源,从而加速网站,减少页面加载时间。ngx_pagespeed 是 Nginx 的 PageSpeed 扩展模块,功能包括:

  • 图片优化: stripping meta-data, dynamic resizing, recompression
  • CSS & JavaScript 压缩、合并等
  • 小资源的内联
  • 推迟图片和 JS 的加载
  • HTML 重写
  • 延长缓存扩展

今天我们就把 Nginx 和 ngx_pagespeed 部署到 Ubuntu 服务器上。

继续阅读Build lastest nginx and ngx_pagespeed in Ubuntu 14.04

Install HHVM in Ubuntu 12.04

HHVM 是 Facebook 开发的高性能 PHP 虚拟机,宣称比官方的快9倍,而且已经有人测试了 HHVM 跑 WordPress 的效率比 PHP 要快 40 倍,这个必须要尝试了,去年年底,Facebook 发布了 HHVM 的 FastCGI 支持,而且 Ubuntu 安装起来非常方便,直接从 HHVM 的官方源安装即可。HHVM 的 Wiki 里面安装方法十分详细,但是因为有墙的存在,我们只能使用 mirror.mephi.ru 这个镜像了。 继续阅读Install HHVM in Ubuntu 12.04

Build lastest nginx and ngx_pagespeed in Ubuntu 12.04

PageSpeed 是谷歌开发的一个服务器过滤模块,可以在服务器上自动将网页性能最佳实践应用到页面和相关资源,从而加速网站,减少页面加载时间。ngx_pagespeed 是 Nginx 的 PageSpeed 扩展模块,功能包括:

  • 图片优化: stripping meta-data, dynamic resizing, recompression
  • CSS & JavaScript 压缩、合并等
  • 小资源的内联
  • 推迟图片和 JS 的加载
  • HTML 重写
  • 延长缓存扩展

今天我们就把 Nginx 和 ngx_pagespeed 部署到 Ubuntu 服务器上。

继续阅读Build lastest nginx and ngx_pagespeed in Ubuntu 12.04

Ubuntu 12.04 LTS Server 更改 MySQL 数据库文件存储位置

Ubuntu Server 里面 MySQL 的数据库文件默认存储在 /var/lib/mysql 目录,如果使用 VPS 的话有个专门的 /data 数据盘,把数据都放在这个盘里面那是必须的。

Ubuntu Server 里面 MySQL 要改变数据库文件位置需要更改2个配置,1个就是 MySQL 的配置文件:/etc/mysql/my.cnf,把

datadir=/var/lib/mysql

更改为

datadir=/data/databases/mysql

还有个地方就是 /etc/apparmor.d/tunables/alias 增加一句:

alias /var/lib/mysql/ -> /data/databases/mysql/

然后把旧数据库文件复制到新目录,再重启 apparmor 和 mysql 服务就好了。