使用服务器的 ip地址和账号信息,用ftp软件就可以用来上传文件了。
和别人共用服务器时采用的方法。可以把对方的权限限制到某个文件夹里面,他只能在这里上传下载文件,对于服务器安全、权限都有保障。
这篇文章很有分享价值,因为我们在实际的生产环境中需要将数据库进行自动备份,然后上传到指定的位置,当然也可以像以下文章中所讲的一样,上传到你指定的FTP服务器中,从而实现Mysql数据库自动备份并上传到远程FTP服务器的部署,在Linux技术交流群中,也有朋友会遇到这方面的问题,可以将此文分享给群友共益。注意:任何的 *** 作都会具有风险性,请在本机实际测试通过之后再部署到服务器环境,这样即熟练的掌握了 *** 作的技巧,也能在测试过程中发现问题,寻找解决方法。
说明:我这里要把MySql数据库存放目录/var/lib/mysql下面的data数据库备份到/home/mysql_data里面
并且保存为mysqldata_bak_2012_12_19targz的压缩文件格式(2012_12_19是指备份执行时当天的日期)
然后只保留最近7天的备份
再把备份文件通过ftp服务器上传到指定空间,只保留最近7天的数据
实现步骤:
1、创建保存备份文件的路径:/home/mysql_data
cd /home
mkdir mysql_data
2、创建备份脚本文件:/home/mysql_data/mysql_databaksh
cd /home
cd mysql_data
touch mysql_databaksh
vim mysql_databaksh
输入以下内容:
#######################################################################################################
#!/bin/sh
DUMP=/usr/bin/mysqldump #mysqldump备份文件执行路径
OUT_DIR=/home/mysql_data #备份存放路径
LINUX_USER=root #系统用户名
DB_NAME=data #要备份的数据库名字
DB_USER=root #数据库账号 注意:非root用户要用备份参数 --skip-lock-tables,否则可能会报错
DB_PASS=123456 #数据库密码
DAYS=7 #DAYS=7代表删除7天前的备份,即只保留最近7天的备份
cd $OUT_DIR #进入备份存放目录
DATE=`date +%Y_%m_%d` #获取当前系统时间
OUT_SQL="$DATEsql" #备份数据库的文件名
TAR_SQL="mysqldata_bak_$DATEtargz" #最终保存的数据库备份文件名
$DUMP -u$DB_USER -p$DB_PASS $DB_NAME --default-character-set=utf8 --opt -Q -R --skip-lock-tables> $OUT_SQL #备份
tar -czf $TAR_SQL /$OUT_SQL #压缩为targz格式
rm $OUT_SQL #删除sql格式的备份文件
chown $LINUX_USER:$LINUX_USER $OUT_DIR/$TAR_SQL #更改备份数据库文件的所有者
find $OUT_DIR -name "mysqldata_bak_" -type f -mtime +$DAYS -exec rm {} \; #删除7天前的备份文件
deldate=` date -d -7day +%Y_%m_%d ` #获取7天前的时间
ftp -n<<!
open 19216811 21 #打开ftp服务器。21为ftp端口
user admin 123456 #用户名、密码
binary #设置二进制传输
cd mysqlbak #进入ftp目录(这个目录必须为ftp空间真实存在的目录)
lcd /home/mysql_data #列出本地目录
prompt
put mysqldata_bak_$DATEtargz mysqldata_bak_$DATEtargz #上传目录中的文件
delete mysqldata_bak_$deldatetargz mysqldata_bak_$deldatetargz #删除ftp空间7天前的备份
close
bye !
#######################################################################################################
3、修改文件属性,使其可执行
chmod +x /home/mysql_data/mysql_databaksh
4、修改/etc/crontab
vi /etc/crontab
在下面添加
30 1 root /home/mysql_data/mysql_databaksh
表示每天凌晨1:30分执行备份
5、重新启动crond使设置生效
/etc/rcd/initd/crond restart
chkconfig crond on #设为开机启动
service crond start #启动
每天你在/home/mysql_data目录下面可以看到类似mysqldata_bak_2012_12_19targz这样的压缩文件
如果需要恢复文件的时候,只需要把这个文件解压即可
解压缩tar -zxvf mysqldata_bak_2012_12_19targz
至此,我们完成了Linux中Mysql数据库自动备份并上传到远程FTP服务器的部署。在本地电脑D:盘创建一个文件夹"qint"。将要上传的文件复制到d:\qint里。通过FTP命令将文件从本地上传到服务器的步骤如下:1“开始”-“运行”-输入“FTP”
2open qintithotnet 这一步可以与第一步合并,在“运行”里直接输入"ftp qintithotnet"。如果你的FTP服务器不是用的21默认端口,假如端口是2121,那么此步的命令应在后面空格加2121,即“open qintithotnet 2121”
3username 提示你输入用户名
4user1234
5dir 你成功登陆后就可以用dir查看命令查看FTP服务器中的文件及目录,用ls命令只可以查看文件。
6mkdir qint 在FTP服务器上根目录下建立qint目录。
7cd qint 进入目录qint,用“cd 你的目录名”可以进入当前目录的下一级目录,这跟DOS一样。
8bin 采用二进制传输。如果你要上传下载,这一步很重要,不先执行这个命令,上传下载会很慢。
9lcd d:\qint 定位本地默认文件夹,在前面我事先在D:盘创建的。
10!dir 查看本地文件夹中的文件及目录/
11put i001jpg
/将当前目录(d:\qint)中的文件i001jpg上传到FTP服务器默认目录。可以用"mput "将所有文件上传到FTP服务器上。
将文件从客户机传输到FTP服务器的过程称为下载。
下载是指将文件从FTP服务器拷贝到自己的计算机。访问独立的FTP服务器需使用FTP客户软件,已有许多功能各异的专用FTP客户软件供您选用。
而访问内嵌FTP的>
扩展资料:
工作原理
在有些网页中建立了软件下载的超级链接,这样用户就可以直接通过超级链接进行下载,即内嵌了FTP服务。
有些FTP服务器只能通过命令的方式下载文件,而另外一些FTP服务器则以FTP站点的形式提供服务,用户可以直接通过浏览器访问FTP站点,下载软件。
FTP软件是在命令的方式下运行的,它只能下载独立的FTP服务器上的软件,对于内嵌FTP的>
如果是云主机的话,可以在控制面板中找到FTP,直接把要传输的数据托上就可以了如果租用我们的独立服务器,可以免费帮客户安装客户端,并有账号密码提供,客户在本地电脑上下载FTP,登录账户即可传输 海腾数据中心 吉祥ftp是文件传输协议,利用此协议可以在网络上传输文件。
把文件上传到服务器,一般都是使用ftp的方法,因为往往服务器都会提供ftp功能。具体 *** 作需要安装一个方便 *** 作的ftp客户端,例如TotalCommander就很好,在客户端里面建议一个会话,输入服务器的地址、用户名、密码,然后就可以连接服务器,连接成功后可以看见服务器上的文件,可以和本地的进行双向传输(可以上传和下载)。
如果只上传个别文件,可以使用浏览器或者DOS进行传输,浏览器的方法是打开地址:ftp://用户名:密码@服务器地址/,DOS命令是ftp 服务器地址,然后输入用户名和密码。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)