arm linux 移植 rsync
背景:
在产品开发中可以使用rsync进行大文件的拷贝,断点续传。
主机准备:
为了方便管理,创建有关的目录
mkdir rsync cd rsync mkdir compressed install source
下载并解压有关的源码:
cd compressed #下载包 wget -c https://rsync.samba.org/ftp/rsync/rsync-3.1.3.tar.gz #解压下载的包 tar -C ../source -xf rsync-3.1.3.tar.gz
编译:
cd ../source/rsync-3.1.3
执行以下脚本
## # Copyright By Schips, All Rights Reserved OUTPUT_PATH=/home/schips/arm/rsync/install ARM_GCC=arm-hisiv500-linux CC=${ARM_GCC}- \ --disable-ipv6 --disable-debug --mandir="/tmp/" \ --host=${ARM_GCC} && make && make install
此后,我们会得到一个 rsync 的arm架构的可执行文件
配置rsync:
如果在编译时没有使用“--with-rsyncd-conf”指定配置文件,那么一般都是/etc/rsyncd.conf
编辑 配置文件
vi /etc/rsyncd.conf
根据自己的需要进行修改
uid = apache gid = users port = use chroot = no #hosts allow = 192.168.9.3 #hosts deny = pid file = /usr/local/rsync/rsyncd.pid lock file = /usr/local/rsync/rsync.lock #log file = /usr/local/rsync/logs/rsyncd.log [apache] comment=all web path=/ read only=no secrets file=/usr/local/rsync/etc/rsyncd.passwd auth users=apache
上文红色的这一行是作为密码规则文件。我们可以指定用户密码,例如:
apache:apachepass
设置rsync启动脚本:
由于 rsync 的启动参数比较多,我们这里用一个脚本来代替它。
vi /usr/bin/rsync.sh
#!/bin/bash #this script for start|stop rsync daemon service #// status1=$(ps -ef | egrep "rsync --daemon.*rsyncd.conf" | grep -v 'grep') pidfile="/usr/local/rsync/rsyncd.pid" start_rsync="rsync --daemon --config=/etc/rsyncd.conf" function rsyncstart() { if [ "${status1}X" == "X" ];then rm -f $pidfile mkdir -p /usr/local/rsync/ ${start_rsync} status2=$(ps -ef | egrep "rsync --daemon.*rsyncd.conf" | grep -v 'grep') if [ "${status2}X" != "X" ];then echo "rsync service start.......OK" fi else echo "rsync service is running !" fi } function rsyncstop() { if [ "${status1}X" != "X" ];then $(cat $pidfile) status2=$(ps -ef | egrep "rsync --daemon.*rsyncd.conf" | grep -v 'grep') if [ "${statusw2}X" == "X" ];then echo "rsync service stop.......OK" fi else echo "rsync service is not running !" fi } function rsyncstatus() { if [ "${status1}X" != "X" ];then echo "rsync service is running !" else echo "rsync service is not running !" fi } function rsyncrestart() { if [ "${status1}X" == "X" ];then echo "rsync service is not running..." rsyncstart else rsyncstop ; do echo -n "." done rsyncstart fi } in "start") rsyncstart ;; "stop") rsyncstop ;; "status") rsyncstatus ;; "restart") rsyncrestart ;; *) echo echo "Usage: $0 start|stop|restart|status" echo esac
设置rsync开机自启动:
注意红色部分的内容是上文的启动脚本所在的位置
#!/bin/bash rsync=/usr/bin/rsync.sh function try_start { count_num=`ps -ef|grep 'rsync --daemon'|grep -v grep|wc -l` echo $count_num rm -f /usr/local/rsync/rsyncd.pid ];then ${rsync} start fi } test -x case "$1" in start) echo -n "Starting rsync daemon" try_start echo "." ;; stop) echo -n "Stopping rsync" ${rsync} stop echo "." ;; restart) echo -n "Stopping rsync" try_stop echo "." echo -n "Waiting for rsync to die off" ; do echo -n "." done echo "" echo -n "Starting rsync daemon" ${rsync} restart echo "." ;; *) echo "Usage: $0 {start|stop|restart}" exit esac exit
拷贝对应的文件到指定的位置即可。
参考:
https://www.cnblogs.com/reblue520/p/10011779.html
arm linux 移植 rsync的更多相关文章
- arm linux 移植 x265
背景 本来想着把 x265编译到ffmpeg里面,搞定了x265的编译:但是一直报ERROR: x265 not found using pkg-config这个错误,我按照网上的资料,查看了ffbu ...
- Linux 安装 go 以及 arm linux 移植 go
背景 Go是一门全新的静态类型开发语言,具有自动垃圾回收,丰富的内置类型,函数多返回值,错误处理,匿名函数,并发编程,反射等特性. 从Go1.4之后Go语言的编译器完全由Go语言编写,所以为了从源代码 ...
- arm linux 移植 MQTT (paho、mosquitto)
前言 我们在这里做2件事情: 1)编译 paho.mqtt.mosquitto 2个开源项目的c版本库(mosquitto库没有用上) 2)编译好 依赖 paho.mqtt的库编写例程 + mosqu ...
- arm linux 移植 ffmpeg 库 + x264
背景 Ffmpeg 中带有h264的解码,没有编码,需要添加x264.libx264是一个自由的H.264编码库,是x264项目的一部分,使用广泛,ffmpeg的H.264实现就是用的libx264. ...
- arm linux 移植 PHP
背景: PHP 是世界上最好的语言. host平台 :Ubuntu 16.04 arm平台 : 3531d arm-gcc :4.9.4 php :7.1.30 zlib :1.2.11 libxml ...
- arm linux 移植支持 HP打印机
背景 由于业务需要,需要hi3531d主板上加入对于HP打印机的支持. 通过与产品经理,技术主管的沟通:通用支持是不现实的,只要求彩色打印,先不考虑打印机的价格,只要支持一款打印机即可. 注意: Li ...
- arm linux 移植 gdb/gdbserver
背景 调试工具gdb的使用对于嵌入式Linux开发人员来说是一项不可少的技能. 目前,嵌入式 Linux系统中,主要有三种远程调试方法,分别适用于不同场合的调试工作:用ROM Monitor调试目标机 ...
- arm linux 移植 udhcp 与 使用
背景 在一些网络环境下,需要静态IP不够现实,需要使用DHCP进行自动获取IP地址. udhcpc是一个面向嵌入式系统的非常小的DHCP客户端,字母的缩写微μ- DHCP -客户端client(μDH ...
- arm linux 移植 jpeg
背景: host平台 :Ubuntu 16.04 arm平台 : S5P6818 jpeg :v9c arm-gcc :4.8.1 主机准备: 运行以下脚本: ## # Copyright By Sc ...
随机推荐
- 19市赛 树状数组 第k个小的糖果
int find_kth(int k) { , cnt = , i; ; i >= ; i--)/ { ans += ( << i); if (ans >= maxn|| cn ...
- 蓝桥杯-铺瓷砖(dfs)
问题描述 有一长度为N(1< =N< =10)的地板,给定两种不同瓷砖:一种长度为1,另一种长度为2,数目不限.要将这个长度为N的地板铺满,一共有多少种不同的铺法? 例如,长度为4的地面一 ...
- MySQL高可用之MHA配置
本文简单介绍了MySQL的高可用实现方式之一的MHA MHA:Master High Availability,对主节点进行监控,可实现自动故障转移至其它从节点:通过提升某一从节点为新的主节点,基于主 ...
- NFS网络文件共享系统!
NFS是运行在应用层上的协议,其默认的端口为2049,它适用于linux与linux之间,也适用于linux与unix之间,亦可适用于linux与windows之间 nfs优缺点优点 节省本地硬盘的存 ...
- org.springframework.web.multipart.MultipartException: The current request is not a multipart request
今天做图片上传的碰到这个问题,查找原因是html请求的方式问题.from中涉及到图片上传的就要用post提交方式.否则就会报这个错误.如果已经是post的提交方式了还有这个错...还有两种解决方法. ...
- python浅析格式化输出和深浅copy
一,格式化输出 今天主要想记录一下关于格式化输出的例子,然后结合了自己的理解,分析如下: 格式是 :百分号+占位符 主要有三种使用形式:%s (其中s表示string)表示字符串 %d (其中d表 ...
- string类的具体实现
bigThree,注意拷贝构造函数的写法. #ifndef __MYSTRING__ #define __MYSTRING__ class String { public: String(); Str ...
- linux修改文件的权限和修改文件所有者和所属组
文件设定法:chmod [who] [+][-][=] [mode] who 文件所有者:u 文件所属组:g 其他:o 所有人:a + 添加权限 - 减少权限 = 覆盖原来权限 权 ...
- word2vec词向量处理英文语料
word2vec介绍 word2vec官网:https://code.google.com/p/word2vec/ word2vec是google的一个开源工具,能够根据输入的词的集 ...
- DVWA靶机的命令执行漏洞
之前在打攻防世界的时候出现过类似的题目,这里再重温一下 (靶机一共低中高三个安全等级,这里只演示低中等级) (1)Security:low 根据提示让我们输入地址ping一下,之后返回以下内容,可以判 ...