php mysql nginx安全,CentOS+Nginx+PHP+Mysql+安全指南全环境搭建笔记(4)

CentOS+Nginx+PHP+Mysql+安全指南全环境搭建笔记(4)

- 数据自动备份

主要内容:

[安装NCFTP软件以支持自动上传数据库备份]

[数据库每日备份]

[数据库即时备份**按需操作**]

[日志备份]

[安装NCFTP软件以支持自动上传数据库备份]

# cd /software

# wget ftp://ftp.ncftp.com/ncftp/ncftp-3.2.2-src.tar.gz

# tar zxvf ncftp-3.2.2-src.tar.gz

# cd ncftp-3.2.2

# ./configure --prefix=/usr/local/webserver/ncftp

# make && make install

[数据库每日备份]

每天4:00,将数据库拷贝至/backup/day后进行压缩,然后上传至FTP服务器上,/backup/day/留有压缩文件一天。

# vi /usr/local/webserver/backupd.sh

↑ 编辑脚本/usr/local/webserver/backupd.sh

写入以下内容:

#!/bin/bash

rm -rf /backup/day/*

cd /backup/day/

cp -rf /usr/local/webserver/mysql/data/(此处为数据库名称)/ /backup/day/wp_db_$(date +%Y%m%d)

sleep 10

echo "ready to tar in 10s ."

tar zcvf `hostname`_wpdata_of_$(date +%Y%m%d).tar.gz wp_db_$(date +%Y%m%d)

sleep 10

echo "ready to upload in 10s ."

/usr/local/webserver/ncftp/bin/ncftpput -u backupd -p (FTP密码) (FTP服务器地址) / /backup/day/`hostname`_wpdata_of_$(date +%Y%m%d).tar.gz

sleep 30

echo "upload done ."

rm -f `hostname`_wpdata_of_$(date +%Y%m%d).tar.gz

sleep 5

rm -rf wp_db_$(date +%Y%m%d)

clear

保存,并设置计划任务:

# crontab -e

增加一行:

00 4 * * * /bin/bash /usr/local/webserver/backupd.sh

↑ 每天凌晨4点将自动备份数据库并上传。

[数据库即时备份**按需操作**]

每隔6小时,将数据库拷贝至/backup/hour目录进行备份,然后将压缩文件上传至FTP服务器上,/backup/hour/留有压缩文件一天。

# vi /usr/local/webserver/backuph.sh

↑ 编辑脚本/usr/local/webserver/backuph.sh

写入以下内容::

#!/bin/bash

rm -rf /backup/hour/*

cd /backup/hour/

cp -rf /usr/local/webserver/mysql/data/(数据库名称)/ /backup/hour/wp_db_$(date +%Y%m%d%H)

sleep 10

echo "ready to tar in 10s ."

tar zcvf `hostname`_wpdata_of_$(date +%Y%m%d%H).tar.gz wp_db_$(date +%Y%m%d%H)

sleep 10

echo "ready to upload in 10s ."

/usr/local/webserver/ncftp/bin/ncftpput -u backuph -p (FTP密码) (FTP服务器地址) / /backup/hour/`hostname`_wpdata_of_$(date +%Y%m%d%H).tar.gz

sleep 30

echo "upload done ."

rm -f `hostname`_wpdata_of_$(date +%Y%m%d%H).tar.gz

sleep 5

rm -rf wp_db_$(date +%Y%m%d%H)

clear

保存,并设置计划任务:

# crontab -e

增加一行:

0 */6 * * * /bin/bash /usr/local/webserver/backuph.sh

↑ 每6小时将自动备份数据库并上传一次。

[日志备份]

每天02:00,将/logs/下前一天的日志,进行压缩,然后上传至FTP服务器。

# vi /usr/local/webserver/logs.sh

↑ 编辑脚本/usr/local/webserver/logs.sh

写入以下内容::

#!/bin/bash

cd /logs/

mkdir logs_of_$(date -d "yesterday" +"%Y%m%d")

cp $(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")/access_$(date -d "yesterday" +"%Y%m%d").log /logs/logs_of_$(date -d "yesterday" +"%Y%m%d")

cp $(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")/nginx_error_$(date -d "yesterday" +"%Y%m%d").log /logs/logs_of_$(date -d "yesterday" +"%Y%m%d")

sleep 10

echo "ready to tar in 10s ."

tar zcvf `hostname`_logs_of_$(date -d "yesterday" +"%Y%m%d").tar.gz logs_of_$(date -d "yesterday" +"%Y%m%d")

sleep 10

echo "ready to upload in 10s ."

/usr/local/webserver/ncftp/bin/ncftpput -u logs -p (FTP密码) (FTP服务器地址) / /logs/`hostname`_logs_of_$(date -d "yesterday" +"%Y%m%d").tar.gz

sleep 30

echo "upload done ."

rm -f `hostname`_logs_of_$(date -d "yesterday" +"%Y%m%d").tar.gz

sleep 5

rm -rf logs_of_$(date -d "yesterday" +"%Y%m%d")

clear

保存,并设置计划任务::

# crontab -e

增加一行:

00 2 * * * /bin/bash /usr/local/webserver/logs.sh

↑ 每天凌晨2点将自动备份日志并上传。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值