浏览模式: 标准 | 列表 Tag: ftp

Linux VPS定时自动备份网站和mysql数据库并上传至FTP的脚本

网上很多做VPS推介的网站都会提醒用户注意备份网站数据,而linux vps备份的方法都是用脚本定时自动化备份,其中有一个自动化备份并上传至ftp服务器的脚本有点问题(手动执行脚本本地可以产生备份数据压缩包并上传到ftp服务器,但是放到crontab里自动化执行则只有本地可以产生备份数据压缩包却没有上传到ftp服务器),我改了下脚本,适用于使用lnmp环境下定时自动备份网站和mysql数据库并上传至FTP:

  • #!/bin/bash
  • MYSQL_USER=root
  • MYSQL_PASS=root
  • FTP_USER=ftp
  • FTP_PASS=123456
  • FTP_IP=www.is36.com
  • FTP_backup=/public_html/
  • WEB_DATA=/home/wwwroot/
  •  
  • DataBakName=Data_$(date +"%Y%m%d").tar.gz
  • WebBakName=Web_$(date +%Y%m%d).tar.gz
  • OldData=Data_$(date -d -5day +"%Y%m%d").tar.gz
  • OldWeb=Web_$(date -d -5day +"%Y%m%d").tar.gz
  • rm -rf /home/backup/Data_$(date -d -3day +"%Y%m%d").tar.gz /home/backup/Web_$(date -d -3day +"%Y%m%d").tar.gz
  • cd /home/backup
  • for db in `/usr/local/mysql/bin/mysql -u$MYSQL_USER -p$MYSQL_PASS -B -N -e 'SHOW DATABASES' | xargs`; do
  •     (/usr/local/mysql/bin/mysqldump -u$MYSQL_USER -p$MYSQL_PASS ${db} | gzip -9 - > ${db}.sql.gz)
  • done
  • tar zcfP /home/backup/$DataBakName /home/backup/*.sql.gz
  • rm -rf /home/backup/*.sql.gz
  • tar zcfP /home/backup/$WebBakName $WEB_DATA
  •  
  • ftp -i -n << !
  • open $FTP_IP
  • user $FTP_USER $FTP_PASS
  • bin
  • lcd /home/backup/
  • cd $FTP_backup
  • delete $OldData
  • delete $OldWeb
  • put $DataBakName
  • put $WebBakName
  • bye

Tags: linux vps, mysql, lnmp, ftp

FTP连接时出现“227 Entering Passive Mode” 的解决方...

一台Windows2003配置了ftp服务,从windows客户端ftp上去上传下载没有任何问题,而从linux客户端ftp上去则遭遇“227 Entering passive Mode”问题,继而提示ftp: connect: Connection refused。

解决该问题先来了解下FTP服务的两种工作模式:

  • port方式(主动模式), 连接过程:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时, 客户端在命令链路上用PORT命令告诉服务器:“我打开了***X端口,你过来连接我”。于是服务器从20端口向客户端的***X端口发送连接请求,建立一条数据链路来传送数据。
  • pasv方式  ( 被动模式 ), 连接过程:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时, 服务器在命令链路上用PASV命令告诉客户端:“我打开了***X端口,你过来连接我”。于是客户端向服务器的***X端口发送连接请求,建立一条数据链 路来传送数据。 

由于服务器上的FTP进行TCP/IP筛选,仅允许特定的端口可以被客户端连接,所以无法使用PASV方式。找到了原因,解决办法也很简单,只需要关闭客户端的PASV方式,强制其用PORT方式访问服务器即可。

客户端登录FTP服务器后,用passive命令关闭客户端的PASV方式,如下:  

ftp> passive

Passive mode off. 

再次执行该命令就可以启用PASV模式。

Tags: ftp, 主动, 被动, port, pasv, passive