VPS备份mysql和网站程序到另外一个ftp服务器的脚本

使用步骤
修改backup.sh

1
cd ~;vi lnmp1.2-full/tools/backup.sh

然后按下面的“脚本参数说明”设置自己的参数(vim如何编辑就不用再讲了吧,每个用linux的该懂)
编辑完退出后执行以下命令,在home目录下新建backup目录并改权限为777

1
cd /home/;mkdir backup;chmod 777 backup

然后安装lftp

1
yum install lftp

脚本参数说明

#####备份文件存放目录,请先建立该目录并且设定权限
Backup_Home=”/home/backup/”

####mysqldump路径,如果是mariadb替换/usr/local/mysql为/usr/local/mariadb
MySQL_Dump=”/usr/local/mysql/bin/mysqldump”

##########要备份的目录,目录用双引号括起来,多个目录空格隔开,下面是备份aaa.com和bbb.com网站目录
Backup_Dir=(“/home/wwwroot/aaa.com” “/home/wwwroot/bbb.com”)

########要备份的数据库名称
Backup_Database=(“aaaDB” “bbbDB”)
######填写MySQL root账号
MYSQL_UserName=’root’
##### MySQL root密码
MYSQL_PassWord=’yourrootpassword’

#####是否启用ftp备份,0 启用,1不启用,默认0为启动
Enable_FTP=0

######填写ftp账号地址用户密码
FTP_Host=’1.1.1.1′
FTP_Username=’ftp’
FTP_Password=’yourftppassword’
#########ftp服务器上存放备份的目录,需要事先在用于备份的vps上安装设置vsftpd并在根目录建立backup目录、设置权限为777-与上面建立文件夹步骤相同
FTP_Dir=”/backup”
#Values Setting END!

以上操作仅针对lnmp一键包,其他的相应修改

万事俱备 只欠东风

下面开始备份
1、手动备份方法
ssh连接上vps后执行以下命令(注意修改lnmp的版本号与你的一致)

1
cd ~/lnmp1.2-full/tools/;/bin/bash backup.sh

2、添加定时任务,每天凌晨5点自动开始

1
crontab -e
1
00 05 * * * /bin/bash lnmp1.2-full/tools/backup.sh

如果在备份mysql的时候出现以下错误提示

1
mysqldump: Got error: 1045: Access denied for user 'root'@'localhost' (using password: YES) when trying to connect

解决方法如下:
方法一

1
2
3
4
5
6
7
8
9
10
11
/etc/init.d/mysql stop
mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root';
mysql> FLUSH PRIVILEGES;
mysql> quit

/etc/init.d/mysqld restart
mysql -uroot -p
Enter password:
mysql>

保存退出后重新执行备份命令
方法二
phpmyadmin检查mysql用户情况 如果你的数据库是使用的其中一个,注意其密码是否为空,另外如果安装lanp使用时,添加虚拟主机并未添加新的数据库,而是用的root用户,则需要填入root的服务器用户密码,而不是mysql密码

原文链接:https://xiaohost.com/1269.html,转载请注明出处。
0

评论0

请先