LNMP - 自动、定时本地/远程FTP空间备份数据库和网站文件

定时备份是一个好习惯,防止服务器意外崩溃而导致文件丢失。LNMP一键包中自带备份脚本,我们可以设置自动或者定时备份到服务器对应目录,也可以备份到远程FTP空间中。由于无法直接备份到腾讯云COS存储,于是采用ftp备份到另一台服务器,由宝塔里的腾讯云COS插件进行二次备份。

LNMP自带备份脚本配置

1.位置

/root/lnmp1.6/tools/backup.sh

2.修改配置文件

Snipaste_2019-10-07_15-46-53.png

3.执行备份查看配置是否正确

./backup.sh

执行后本地备份正常,ftp异常。于是开放相应端口,再次测试提示Fatal Error: Certificate Verification: Not Trusted
原因是证书未被信任,解决办法:编辑/etc/lftp.conf,加入如下内容即可

set ssl:verify-certificate no

再次执行后,本地和ftp备份都成功。
Snipaste_2019-10-07_15-54-26.png

4.结合crontab设置定时备份

关于crontab

crontab命令常见于Unix和Linux的操作系统之中,用于设置周期性被执行的指令。

安装crontab

yum install vixie-cron crontabs
chkconfig crond on
service crond start

添加定时脚本

crontab -e

编辑定时脚本,然后添加:

0 3 * * * /root/lnmp1.6/tools/backup.sh

设置每天凌晨3点执行一次,至此自动备份就成功了。只需要在宝塔进行二次备份就可以备份到腾讯云COS。

Crontab 命令

服务相关命令:

# 安装
yum -y install vixie-cron crontabs
#查看状态
service crond status
#启动
service crond start
#关闭
service crond stop
#重启
service crond restart

crontab 命令:

crontab [-u user] file
crontab [-u user] [ -e | -l | -r ]

命令参数:

-u user:用来设定某个用户的crontab服务,例如,“-u ixdba”表示设定ixdba用户的crontab服务,此参数一般有root用户来运行。

file:file是命令文件的名字,表示将file做为crontab的任务列表文件并载入crontab。如果在命令行中没有指定这个文件,crontab命令将接受标准输入(键盘)上键入的命令,并将它们载入crontab。

-e:编辑某个用户的crontab文件内容。如果不指定用户,则表示编辑当前用户的crontab文件。

-l:显示某个用户的crontab文件内容,如果不指定用户,则表示显示当前用户的crontab文件内容。

-r:从/var/spool/cron目录中删除某个用户的crontab文件,如果不指定用户,则默认删除当前用户的crontab文件。

-i:在删除用户的crontab文件时给确认提示

crontab格式:

每一行都代表一项任务,每行的每个字段代表一项设置,它的格式共分为六个字段,前五段是时间设定段,第六段是要执行的命令段,格式如下:

minute   hour   day   month   week   command
# For details see man 4 crontabs
# Example of job definition:
.---------------------------------- minute (0 - 59) 表示分钟
|  .------------------------------- hour (0 - 23)   表示小时
|  |  .---------------------------- day of month (1 - 31)   表示日期
|  |  |  .------------------------- month (1 - 12) OR jan,feb,mar,apr ... 表示月份
|  |  |  |  .---------------------- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat  表示星期(0 或 7 表示星期天)
|  |  |  |  |  .------------------- username  以哪个用户来执行 
|  |  |  |  |  |            .------ command  要执行的命令,可以是系统命令,也可以是自己编写的脚本文件
|  |  |  |  |  |            |
*  *  *  *  * user-name  command to be executed

本文链接:

https://www.worthy.cc/622.html
1 + 9 =
快来做第一个评论的人吧~