ftp 客户端 上传
ps:
1.使用netkit-ftp-0.17交叉编译出来的ftp客户端,
2.然后写上传代码,调用ftp传服务器;
3.最好使用bin二进制文件形式传输;
4.ftp客户端和Ubuntu自带的ftp工具其实是同一个,只是需要切换下编译器重新编译个arm平台的;
5.代码把关键的上传部分写好了,可以参考下;
#include "stdio.h"
#include <time.h>
#include <dirent.h>
#include "ctype.h"
#include <errno.h>
#include <unistd.h>
#include "log_struct.h"
#include <linux/rtc.h>
#include <fcntl.h>
#include <sys/ioctl.h>
int logtar(char *tar_path,char *filename)
{
char mbackupcmd[LOG_LEN]={0};
char timeinfo[LOG_LEN]={0};
int pos=0;
//char dirname[256];//获取当前目录并打印
chdir(Log_Local_Root); //必须用这个切换路径,system不能用cd切换
//getcwd(dirname,256);
//printf("The current directory is : %s \n",dirname);
getcurrenttimeforfilename(timeinfo);
pos=0;
sprintf(filename,"dilog%s.tar",timeinfo);
sprintf(mbackupcmd+pos,"busybox tar -cf %s%s LOG zdi_log",tar_path,filename);
system(mbackupcmd);
return 0;
}
int logsaveremote(int argc, char *argv[])
{
FILE *fp;
int i,pos;
char filename[100],file_path[100];;
char rmcmd[LOG_LEN]={0};
logtar("/media/mtdblock3/",filename);
sprintf(file_path,"/media/mtdblock3/%s",filename);
if(access(file_path, F_OK) != 0)
{
printf("log autobackup tar err \n ");
return 2;
}
if((fp=popen("ftp -n","w"))==NULL)
{
printf("Run ftp fail !");
return 3;
}
//while ((fgets(str,255,fp))!=NULL) puts(str);
fprintf(fp,"open %s\n",argv[3]);
fprintf(fp,"user %s %s\n",argv[4],argv[5]);
fprintf(fp,"prompt\n");
fprintf(fp,"lcd /media/mtdblock3\n");
fprintf(fp,"cd /\n");
fprintf(fp,"binary /\n"); //二进制格式传输,否则打包的压缩包上传之后无法打开
fprintf(fp,"put *%s\n",filename);
fprintf(fp,"bye\n");
pclose(fp);
sprintf(rmcmd,"rm /media/mtdblock3/%s",filename);
system(rmcmd);
printf("%s backup to ftp server success \n",filename);
return 0;
}
ftp 客户端 上传的更多相关文章
- FTP客户端上传下载Demo实现
1.第一次感觉MS也有这么难用的MFC类: 2.CFtpFileFind类只能实例化一个,多个实例同时查找会出错(因此下载时不能递归),采用队列存储目录再依次下载: 3.本程序支持文件夹嵌套上传下载: ...
- [No0000DB]C# FtpClientHelper Ftp客户端上传下载重命名 类封装
using System; using System.Diagnostics; using System.IO; using System.Text; using Shared; namespace ...
- Java实现FTP文件上传与下载
实现FTP文件上传与下载可以通过以下两种种方式实现(不知道还有没有其他方式),分别为:1.通过JDK自带的API实现:2.通过Apache提供的API是实现. 第一种方式 package com.cl ...
- ftp无法上传问题
1.背景 ftp服务端和客户端一直未做任何改动,无法上传属于突发状态,除此客户端外其他客户端上传正常 客户端(SunOS系统)可以正常连接ftp的xxx21端口,但是传输数据(文件)时无法正常传输 上 ...
- Python 基于Python实现Ftp文件上传,下载
基于Python实现Ftp文件上传,下载 by:授客 QQ:1033553122 测试环境: Ftp客户端:Windows平台 Ftp服务器:Linux平台 Python版本:Python 2.7 ...
- HCNA管理设置文件系统FTP服务上传下载文件
1.拓扑图 2.R2配置 The device is running! ###################################### <Huawei>sys Enter s ...
- ftp服务器上传下载共享文件
1 windows下搭建ftp服务器 https://blog.csdn.net/qq_34610293/article/details/79210539 搭建好之后浏览器输入 ftp://ip就可以 ...
- FTP文件上传
一.配置FTP文件服务器 以Ubuntu为例 FTP两种模式简介 PORT(主动模式) 第一步FTP客户端首先随机选择一个大于1024的端口p1,并通过此端口发送请求连接到FTP服务器的21号端口建立 ...
- 使用ftp软件上传下载php文件时换行丢失bug
正 文: 在使用ftp软件上传下载php源文件时,我们偶尔会发现在本地windows下notepad++编辑器写好的php文件,在使用ftp上传到linux服务器后,php文件的换行符全部丢失了, ...
随机推荐
- iOS开发高级分享 - iOS上的设备标识符和指纹
苹果认可的标识符 Apple提供了各种API,以方便用户识别各种用途: 通用标识符(UDID) 在iOS的早期,苹果公司提供了一个uniqueIdentifier财产上UIDevice-亲切地称为ud ...
- 面经-科大讯飞AI研究院
面试时间:2019.06.27 电话面试 面试岗位:计算机视觉算法工程师/一面 面试时长:45分钟 面试内容: 自我介绍 简历中选择一个项目介绍-视频召回 问及项目中的语音.人脸.标题.模态缺失相关细 ...
- [Usaco 2012 Feb]Cow coupons牛券:反悔型贪心
Description Farmer John needs new cows! There are N cows for sale (1 <= N <= 50,000), ...
- CSPS模拟 53
T1 两种差分,拆分转化 T2 状压,hash压状态卡空间 T3 dfs,分类讨论.
- 震惊!我竟然发现了JDK源码的问题
读源码时的思考 最近在看concurrent包下线程池的源码,当我看到ThreadPoolExecutor类的时候,发现了JDK源码的一个问题.以下是ThreadPoolExecutor类的addWo ...
- python经典算法面试题1.5:如何找出单链表中的倒数第K个元素
本题目摘自<Python程序员面试算法宝典>,我会每天做一道这本书上的题目,并分享出来,统一放在我博客内,收集在一个分类中. [微软笔试题] 难度系数:⭐⭐⭐ 考察频率:⭐⭐⭐⭐⭐ 题目描 ...
- jquery手机端横屏判断方法
jquery手机端横屏判断方法<pre>$(function() { var bodywidth = $('body').width(); var bodyheight = $('body ...
- 接口测试专题(Java & jmeter & Linux基础)
以下是我和两个朋友原创文章合集,主题是接口测试,有Java接口测试案例和jmeter的案例,还有接口测试相关服务器操作基础.欢迎点赞.关注和转发. 接口测试 httpclient处理多用户同时在线 h ...
- redhat、centos7系列破解密码
redhat或者centos7,破解密码: 1.开机出现引导菜单时按下e键 2.找到linux16行,在其后追加 rd.break 参数 console=tty0 3.启动到特定的模式,由于更改密码需 ...
- lqb 入门训练 Fibonacci数列 (循环 PS:提柜要栈溢出)
入门训练 Fibonacci数列 时间限制:1.0s 内存限制:256.0MB 问题描述 Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1. 当n比较大时, ...