获取脚本如果您使用了lnmp.org一键脚本部署了服务器,直接到下载路径下找到lnmp1.4/tools/backup.sh
如果仅想使用备份脚本,可以到GitHub下载。
备份前准备
1.将backup.sh放到要备份的服务器。
2.安装lftp,以CentOS为例,CentOS中安装软件用yum,Debian/Ubuntu替换为apt-get即可。yum install lftp
3.准备FTP空间。
配置备份参数
打开backup.sh文件,编辑参数vim ./backup.sh
设置以下参数#备份目录,如不存在,将自动新建
Backup_Home="/home/backup/"
#mysqldump路径,如果是用lnmp.org一键安装包部署的lnmp环境,则无需更改
MySQL_Dump="/usr/local/mysql/bin/mysqldump"
#要备份的目录,支持多目录,多目录间用空格分开
Backup_Dir=("/home/wwwroot/y2z.top" "/home/wwwroot/domain.com")
#要备份的数据库,支持一次备份多数据库,只写库名即可,多个数据库用空格分开
Backup_Database=("mydb" "mydb2")
#MySQL用户名和密码
MYSQL_UserName='root'
MYSQL_PassWord='yourrootpassword'
#FTP设置,0为开启,1为关闭,关闭之后仅能实现本地备份
Enable_FTP=0
#设置FTP地址,用户名密码等信息
FTP_Host='1.2.3.4'
FTP_Username='ftpUser'
FTP_Password='yourftppassword'
#FTP要备份到FTP的目录,此目录需提前新建
FTP_Dir="backup"
试运行bash backup.sh
Backup website files...
Backup Databases...
Delete old backup files...
Uploading backup files to ftp...
Usage: rm [-r] [-f] files...
Usage: rm [-r] [-f] files...
complete.
显示备份complete即备份成功。查看FTP服务器是否有备份的数据库和程序文件
设置计划任务#编辑/etc/crontab文件vim /etc/crontab
如果没有crontab文件,可能是系统过于精简,运行命令安装crontab即可yum install vixie-cron
yum install crontabs
vixie-cron软件包是cron的主程序;crontabs软件包是用来安装、卸装、或列举用来驱动 cron 守护进程的表格的程序。
设置每天23:30分执行备份脚本# 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
# | | | | |
# * * * * * user-name command to be executed
30 23 * * * root /bin/bash /home/backup.sh