A. ftp脚本抓取数据 shell脚本怎么写
假设需要每天11:00自动使用ftp从服务器server下的一个目录下载文件到本地。
重点:ftp命令如何获取用户名,密码。
vi ftps //编写脚本ftps
#!/usr/bin/sh
ftp -i -in <<!
open 192.168.1.171 //连接到服务器(假设为192.168.1.171)
user $ftpuser $password //用户名和密码
bin //以二进制传送
cd / //到ftpuser的根目录(
passive //如果出现no route to host提示,使用passive模式
mget $1 //获取命令后加的参数(文件或者文件夹)
bye //退出
!
保存退出
chmod +x ftps
crontab -e
00 11 * * * /$path/ftps
保存退出
这样在每天11点的时候就可以自动ftp下载数据了。
B. ftp使用perl脚本
#!/usr/bin/perl -w
use Net::FTP;
use POSIX qw(strftime); #这个是我当时用来抓时间的可以省略
my $remotefile;
my $localfile;
my $dir = 'E:/CDR/trunk/'; #本地存放路径
my $host;
my $password;
my $ftp;
#1. get begin
$host='192.168.1.105'; #被FTP的远程IP
$password='hahahaha'; #ftp的密码
$ftp=Net::FTP->new($host) or die "cannot connect to ftp server $host!\n";
$ftp->login("root",$password);
$ftp->cwd("/AP/CDR"); #远程抓取的路径
if ( -d "$dir/$host" ) { #这个条件句是用来判断本地目录192.168.1.105是否存在,不存在就创建
}
else {
system "mkdir -p $host";
}
print "the list of /ap/cdr from $host!!\n"; #列出远程目录的所以非目录文件,并抓取符合条件的文件
&list("/");
$ftp->quit;
#1. get end
sub list() #list类,判断文件类型的核心
{
my $current = $_[0];
my @subdirs;
$ftp->cwd($current);
my @allfiles = $ftp->ls();
foreach (@allfiles){
if(&find_type($_) eq "d"){ #如果是目录则打印并忽略掉
print "this floder!!\n";
}
else{
my $tmp = "$_";
print $tmp."\n";
if($tmp=~/adf/){ #判断包含adf则抓取,当然可以扩展正则方法
$remotefile=$tmp;
$localfile = "$dir/$host/".$remotefile;
$ftp->binary();
$ftp->get($remotefile,$localfile)
or die "Could not get remotefile:$remotefile\n";
print "download $remotefile complete from $host!!\n";
}
}
}
}
sub find_type{
my $path = shift;
my $pwd = $ftp->pwd;
my $type = '-';
if ($ftp->cwd($path)) {
$ftp->cwd ($pwd);
$type = 'd';
}
return $type;
}
老大 我自己执行是可以的, 把分给我吧
C. 自动上传FTP脚本
你用ftp 工具 上传不行吗 用这个工具
8uftp同时支持直接上传压缩包,可在空间上直接解压。也可以在空间上压缩后直接下载压缩包。
.增加远程ftp目录的复制URL功能
增加远程ftp目录和本地目录对比的工具
D. Linux FTP脚本
试一下在put前,设置传输模式为二进制,即用 binary 命令。
另外,是不是你的winrar不支持.gz格式的,结果导致它报错?你可以试一下用其他格式压缩,或者干脆就不压缩,直接传一个文本或图片文件过去看看有没有传输的问题。
E. 阿里的云服务器的ubuntu系统怎么一键安装环境
安装须知
1、此安装包可在阿里云所有linux系统上部署安装,此安装包包含的软件及版本为:
nginx:1.0.15、1.2.5、1.4.4
apache:2.2.22、2.4.2
Mysql:5.1.73、5.5.35、5.6.15
php:5.3.18、5.4.23、5.5.7
php扩展:memcache、Zend Engine/ OPcache
ftp:(yum/apt-get安装)
phpwind:8.7 GBK
phpmyadmin:4.1.8
2、请使用最新的一键安装包脚本安装,以前老版本都存在bug,会导致安装异常以及安装的环境混乱。
3、执行一键安装包(./install.sh),会自动清理之前一键安装包安装过的环境。
如果您已经安装过一键安装包,再次执行安装,如若有重要数据,请自行备份/alidata目录。
4、一键安装包会将软件安装在/alidata目录下。
如果您的系统不存在数据盘,则一键安装包会将软件安装到系统/alidata目录下。
如果您的系统存在数据盘,且还没有格式化挂载数据盘。则一键安装包会自动帮您格式化第一块数据盘,并挂载在/alidata目录下。
如果您的系统存在数据盘,且已格式化并挂载了第一块数据盘。一键安装包会将第一块数据盘再次挂载到/alidata目录下,并不影响您之前的挂载目录的使用。比如下图所示,安装前,已经挂载了mnt目录。安装后,一键安装包再次挂载/alidata目录。
如果您的系统存在数据盘,且已格式化数据盘,但没有挂载数据盘。一键安装包会将第一块数据盘挂载到/alidata目录下。
5、怎么样卸载一键安装包?
可以执行以下命令完成卸载:
chmod 777 -R sh-1.3.0/
cd sh-1.3.0/
./uninstall.sh
好了,下面来进行我们详细的安装步骤,come on ~~!
首先准备好连接linux服务器的工具,推荐用xshell和xftp。
xshell 是一个强大的安全终端模拟软件,它支持SSH1, SSH2, 以及Microsoft Windows 平台的TELNET 协议。
下载地址:http://www.newhua.com/soft/36383.htm
Xftp 是一个基于 MS windows 平台的功能强大的SFTP、FTP 文件传输软件。
下载地址:http://www.newhua.com/soft/143.htm
根据上面提供的下载地址,首先安装xshell(基本上是点击Next直至安装 完成):
点击Next-->此时选择“free for Home/School”(免费版)。
再点击Next-->Next-->Next-->install即可安装(还可以选择xshell安装后的语言环境,熟悉英文的朋友,可以选择English选项)。
点击finish完成xshell的安装。
然后我们可以看到以下界面。
接下来安装xftp(用于上传文件到linux服务器的小工具),安装xftp也是非常的简单,基本上也点击Next直至安装完成。
点击Next -->此时选择“free for Home/School”,(免费版)。
录点击Next -->Next -->Next-->install (还可以选择xshell安装后的语言环境,熟悉英文的朋友,可以选择English选项)。
点击finish完成安装。
然后我们可以看到以下界。
然后我们打开xshell, 设置云服务器登录信息。
设置服务器帐号密码。
设置字符集编码(如果不设置字符集编码,则中文字符将会在xshell中显示为乱码)。
设置好了就点击ok保存。
一切准备就绪,让我们连接看看云linux服务器的庐山真面目吧!
黑不隆冬的,啥都没有,这就是linux的shell啦。shell(壳)到底是什么东东呢?
* Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行。
linux作为服务器专用操作系统,主要就是默默的待在机房提供各项网络服务的,为了节省系统资源,像windows那样华丽丽的用户桌面就默认不加载了。当然现在越来越多的用户使用linux作为日常家庭办公用操作系统,所以就有了像gnome、kde这样超华丽的桌面。不过作为服务器使用还是推荐用命令行界面吧,毕竟省一点资源,网站打开可能会更快一点嘛!
打下面的命令去主目录(/home)看下
输入命令:cd
用xftp上传环境安装文件。
回到shell界面,用ll命令看下情况
输入命令:ll
是不是多了一个sh-1.3.0目录,1.3.0是我们的一键安装包的版本号。 请下载最新的版本安装,版本更新介绍,我们可以在change.log中查看。也希望大家多多反馈对于一键安装包的意见。(另外,熟悉linux的朋友,直接可以用wget命令下载我们的安装包,也不用安装Xftp,这样更加便捷。)
接下来按照说明,分步骤敲入安装命令(以下为redhat系统下安装示例)。
输入命令:chmod –R 777 sh-1.3.0
cd sh-1.3.0
./install.sh
出现了一个选择提示,进入web服务器的选择界面。
这里您可以根据需要选择apache或者nginx服务器,这里是2个服务器的介绍:
apache:http://ke..com/view/28283.htm
nginx:http://ke..com/view/926025.htm
引用:
在高并发连接的情况下,Nginx是Apache服务器不错的替代品。Nginx同时也可以作为7层负载均衡服务器来使用。根据我的测试结果,Nginx
0.8.46 + PHP 5.2.14 (FastCGI) 可以承受3万以上的并发连接数,相当于同等环境下Apache的10倍。
这里我们选择nginx,输入1,回车(如果什么都不输入,直接回车,或者输入错误的字符,则默认选择nginx)
然后我们再选择要安装的nginx的版本(如果web服务器选择的是apache,这里提示信息则是要安装apache的版本),总共有1.0.15/1.2.5/1.4.4三个版本可以提供我们选择,这里我们选择1.2.5版本,则输入2,回车(如果什么都不输入,直接回车,或者输入错误的字符,则默认选择1.0.15版本)
然后我们再选择要安装的php的版本,总共有5.3.18/5.4.23/5.5.7三个版本可以提供我们选择,这里我们选择5.5.7版本,则输入3,回车(如果什么都不输入,直接回车,或者输入错误的字符,则默认选择5.3.18版本)
然后我们再选择要安装的mysql的版本,总共有5.1.73/5.5.35/5.6.15三个版本可以提供我们选择,这里我们选择5.1.73版本,则输入1,回车(如果什么都不输入,直接回车,或者输入错误的字符,则默认选择5.1.73版本)
然后可以看到我们刚才选择的版本如下,我们输入y或者Y进行安装。
到这里,我们就正式进入环境安装环节了。你可以泡杯茶休息下。一般这个过程会持续半个小时的样子。
注意:
1、请在网络通畅的情况下进行安装,不要强行终止安装过程(强行关闭安装窗口或者ctrl+c强行终止安装进程),则会导致安装失败,以及出现不可预知的安装异常!
2、安装前,最好能跟系统盘打上快照,如果异常,方便回滚系统。
为了防止断掉和服务器的连接,可以新开一个shell窗口,将鼠标挪到窗口标签栏,右击,如下图所示:
可以看到,新开了一个窗口。
输入top命令
可以看到一直在跳动的系统资源统计。
好了。做完了这一些就让我们静静的等待吧!程序正在自动编译安装服务!
到这个界面说明安装已经结束了,我们可以输入以下命令再次验证是不是已经安装成功:
输入命令 :netstat -tunpl
我们可以看到正在运行状态的服务及端口:9000端口是php进程服务,3306端口是mysql服务,80端口是nginx服务,21端口是ftp服务。
如果看到以上信息,则说明安装没有异常。这里有一点需要注意的是,如果您选择安装的是apache,则没有上面的9000端口。为什么选择安装的是apache,就没有9000端口的php进程服务呢?这是因为nginx+php集成方式与apache+php集成方式不同,感兴趣的朋友可以自己入研究一下,这里就不再介绍。
大家有疑问了。那我怎么登录ftp和mysql呢?
在命令行里输入: cat account.log
看到了没
ftp的用户名是:www
mysql的用户名是:root
密码就在屏幕上了!
另外我们也可以cat /alidata/website-info.log中查看到刚才安装软件的版本信息。
好了。所有配置都已经完成了。是不是很简单!
接下来我们可以访问一下一键安装包默认安装的phpwind论坛以及phpmyadmin。
直接在浏览器中输入您的域名或者ip,如果是第一次访问phpwind,则会自动跳转到安装页面。
如果访问的时候卡主,不出来页面,则检查一下防火墙,并自行设置或者关闭防火墙。
点击“接受”进行安装。
然后选择数据库类型为mysql,数据库用户名和数据库密码填写account.log中的用户名和密码。然后根据自己的要求,设置好数据库名、管理员账号和密码等。
填写好信息后,点击下一步完成安装。
接下来我们访问phpmyadmin,在浏览器中键入我们的域名或者ip+phpmyadmin路径,即可访问我们安装的phpmyadmin。
输入mysql用户名以及密码,即可登录。
最后我们就可以在这里面操作管理我们的mysql啦。
F. cmd的ftp脚本
@echo off
title 测试
set asdfghjkl=azsxdc.cpl
set asd=10
:a
if %asd% == 0 goto end
echo 192.168.0.2>"%asdfghjkl%"
echo bye>>"%asdfghjkl%"
ftp -s:%cd%\%asdfghjkl%
del %cd%\%asdfghjkl%
set /a asd=%asd%-1
goto a
:end
echo 测试结束 & ping -n 5 127.9>nul
exit
G. windows下ftp脚本 我参考网上的一些例子,写了以下两个脚本,可是系统总是循环执行第一句
名字不能叫ftp.bat,换一个别的名字!
H. 实现自动上传文件到ftp服务器的BAT脚本分享
复制代码
代码如下:
@Echo
Off
Echo
open
ip_address
[port]
>ftp.up
Echo
[username]>>ftp.up
Echo
[password]>>ftp.up
Echo
Cd
.\
>>ftp.up
Echo
binary>>ftp.up
Echo
put
"C:\ExAdminAuditLog.txt">>ftp.up
Echo
bye>>ftp.up
FTP
-s:ftp.up
del
ftp.up
/q
先贴代码了,[port]不填的话就是默认端口号,注意上面的username和password后的>>之间不要有空格,否则用户名和密码就不正确了。
大体上就是将ftp用到的交互式命令写到一个临时文件中,执行完后并删除。如果要调试的话,可以在代码的最后一行加上pause,这样执行完会暂停,能看到执行结果。
代码比较简单,粘贴到一个XXX.bat文件中双击执行就ok了。
I. FTP脚本怎么设置啊
代码发给你了:
#!/usr/bin/perl
-w
use
Net::FTP;
use
POSIX
qw(strftime);
#这个是我当时用来抓时间的可以省略
my
$remotefile;
my
$localfile;
my
$dir
=
'E:/CDR/trunk/';
#本地存放路径
my
$host;
my
$password;
my
$ftp;
#1.
get
begin
$host='192.168.1.105';
#被FTP的远程IP
$password='hahahaha';
#ftp的密码
$ftp=Net::FTP->new($host)
or
die
"cannot
connect
to
ftp
server
$host!\n";
$ftp->login("root",$password);
$ftp->cwd("/AP/CDR");
#远程抓取的路径
if
(
-d
"$dir/$host"
)
{
#这个条件句是用来判断本地目录192.168.1.105是否存在,不存在就创建
}
else
{
system
"mkdir
-p
$host";
}
print
"the
list
of
/ap/cdr
from
$host!!\n";
#列出远程目录的所以非目录文件,并抓取符合条件的文件
&list("/");
$ftp->quit;
#1.
get
end
sub
list()
#list类,判断文件类型的核心
{
my
$current
=
$_[0];
my
@subdirs;
$ftp->cwd($current);
my
@allfiles
=
$ftp->ls();
foreach
(@allfiles){
if(&find_type($_)
eq
"d"){
#如果是目录则打印并忽略掉
print
"this
floder!!\n";
}
else{
my
$tmp
=
"$_";
print
$tmp."\n";
if($tmp=~/adf/){
#判断包含adf则抓取,当然可以扩展正则方法
$remotefile=$tmp;
$localfile
=
"$dir/$host/".$remotefile;
$ftp->binary();
$ftp->get($remotefile,$localfile)
or
die
"Could
not
get
remotefile:$remotefile\n";
print
"download
$remotefile
complete
from
$host!!\n";
}
}
}
}
sub
find_type{
my
$path
=
shift;
my
$pwd
=
$ftp->pwd;
my
$type
=
'-';
if
($ftp->cwd($path))
{
$ftp->cwd
($pwd);
$type
=
'd';
}
return
$type;
}
J. FTP自动备份脚本
换空间,数据的备份与恢复具体步骤操作!
一 备份数据
1,利用PW后台的数据备份功能进行备份.注意的是在备份数据的时候,为了数据的完整性,建议最好先关闭论坛,后台更新所有缓存和索引.
2,利用phpmyadmin,进行备份,具体如何备份,这里就不介绍.不清楚的可以查阅相关文档,很简单的.这里备份的文件是一个独立sql文件.
以上方法一般适用与中小型论坛的备份,数据量比较小的时候还是很实用的,一般多为虚拟主机用户使用.大型论坛的备份一般是 3,4两种操作..主要是比较简单操作,一些我个人认为比较复杂且不是很实用的方法就不介绍了不如通过Mysqlhot,使用binlog机制,增加mysql的事物日志记录等,这里就不介绍了.以下下操作一般有服务器权限的朋友才可以的.
3,直接复制或者打包数据库文件,复制文件夹,大家应该都明白,我们来讲打包,linux下用tar命令实现简单有效,速度快.Win 下,直接用winrar或者winzip 搞定.注意需要暂停mysql服务.
4,Mysqlmp,是mysql自带的脚本,假如数据库名为abc,用户名为:abcuser,密码为123,,那应该使用
命令:
mysqlmp -uabcuser -p123 adc pwabc_bak.sql
,pwabc_bak.sql 你可以任意的命名.
二 数据还原
1,针对第一种备份方法,也是最普遍使用的.在恢复论坛数据的时候,要关闭php.ini文件中的safe mode,恢复完数据后,再打开SAFE MODE就可以了。(自己服务器得才需要此设置,普通虚拟空间用户不用此设置)
用FTP软件下载老论坛所有文件
将所有文件上传至新空间
打开网页 你的论坛地址/admin.php 用你的论坛创始人帐号登陆
数据恢复(随便点一个文件,程序会自动将剩余文件导入的)
以上方法可保留所有数据及插件和模板。
对于不需要模板的或者不需要原来的插件的
老论坛备份数据,用FTP拉到本地。(具体在data目录下)
上传程序包里的文件到新空间,全新安装
用FTP软件将备份的数据上传到新空间的data目录下
用论坛创始人帐号进入后台,数据恢复
如果后台数据库忘记了,可以直接修改sql_config.php里的数据库帐号和创始人帐号密码!这里输入的创始人密码不能直接是明文.需要是MD5加密过后的.
这里就给大家一个简单的 MD5密文 [] 明文 [123456]之后就可以通过/admin.php 刚才修改的帐户密码登陆论坛了..
2,对于phpmysql备份的数据,在2M以下可以直接导入数据库中(至于怎么导,看相关文档,很简单.)数据量很大的情况只能到服务器上,服务器上 mysql 命令导入(具体导入将在"4"中介绍)虚拟主机用户,那么就得联系你的空间商,让他们协助完成数据的恢复.
3,对于打包数据库文件的,可以直接解压 把数据库文件 放到你数据库名的目录下. 在linux下注意数据库文件的权限.一般都是mysql:mysql. Win 下关系不是很大,除非你做了特殊的权限设置.
4,对于mysqlmp 导出数据, 按照备份数据中的举例用户来演示,
则命令为:
mysql -uabcuser -p123 abc abc_bak.sql
注意:
无任何错误一般来说就是正常完成。通常在使用 phpmyadmin 导入的sql脚本中有create database语句,会导致导入数据出错,因为database 已经存在,把这段语句删除之,再次检查客户的建表语句前是否有drop表的语句,如果没有,而原数据库存在同名表格,也会出错,这时需要清空原数据库.