perl自动ftp的方法(Linux版本,Net::FTP)
--这里所有的perl技术问题都是我平常处理数据的时候要用到的,可能不是很强的程序,但是希望能和热爱perl的同志,一起分享...
在很多情况下,我们需要从远处服务器上下载当天或者昨天生成的日志文件,来查看一些我们需要的东西或者备份。
如果采用了ftp,那么我们应该建立自动化的ftp方式,来方便我们的工作,下面我们将使用perl语言编写的,当然也可以用shell。
利用了perl的模块:Net::FTP。
#!/usr/bin/perl
use Net::FTP;
my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)=localtime();
$year=$year+1900; #显示为当前年份
$mon=$mon+1; #显示为当前月份
$mon = "0".$mon if ($mon < 10); #显示月份为 01,02的格式
$sum="$year-$mon-$mday"; #显示时间 为 2008-12-22 这样的格式
$ftp = Net::FTP->new("hostname(IP地址)", Debug =>1);
$ftp->login('user(用户名)','passwd(密码)');
$ftp->binary;
$ftp->cwd("path(路径)");
$ftp->get("$sum-filename(文件名)") #比如 2008-12-22_text.txt
or die "$!";
$ftp->quit;
保存后。给文件加上执行。利用 chmod命令。(我们暂时把执行文件叫做 Ftp.pl)
在来设置例行性命令 利用crontab命令。
比如 你想早上5点半开始执行下载。则加入
30 05 * * * perl Ftp.pl
保存。则程序就开始自动化ftp了。
相关文档:
例一:发送Signaling Packet:
Signaling Command是2个Bluetooth实体之间的L2CAP层命令传输。所以得Signaling Command使用CID 0x0001.
多个Command可以在一个C-frame(control frame)中发送。
如果要直接发送Signaling Command.需要建立SOCK_RAW类型的L2CAP连接Socket。这样才有机会自己填充Command Code,Identi ......
七:kmem_cache_free()的实现
kmem_cache_free用于把从slab中分配的对象释放掉,同分配一样,它首先会把它放到AC中,如果AC满了,则把对象释放到share链中,如果share也满了,也就把它释放至slab。来看具体的代码:
void kmem_cache_free (kmem_cache_t *cachep, void *objp)
{
unsi ......
以前已经接触Windows下的Socket编程,最近也尝试着再linux下使用Socket编程,下面是在网上找的例子(已经测试过)
tcp_server.c:
#include <stdio.h>
#include <sys/socket.h>
#include <unistd.h>
#include <sys/types.h>
#include <netinet/in.h>
#include <stdlib.h>
# ......
连接上了服务器,检查一下。磁盘空间不够了
[java@localhost ~]$ df -lh
Filesystem Size Used Avail Use% Mounted on
/dev/hda2 5.8G 5.8G 0M 100% /
/dev/hda1 99M 8.5M 86M 10% /boot
none 506M 0 506M 0% /dev/shm
/dev/hda6 20G 77M 19G 1% /tmp
/dev/hda5 20G 14G 5.2G 72% /usr/local
/dev/hd ......