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 ...
随机推荐
- SMBUS与I2C
SMBUS(系统管理总线)基于I2C总线,主要用于电池管理系统中.它工作在主/从模式:主器件提供时钟,在其发起一次传输时提供一个起始位,在其终止一次传输时提供一个停止位:从器件拥有一个唯一的7或10位 ...
- redhat7.6 crontab 服务,周期性任务
系统默认安装开启 systemctl status crond.service 查看周期性任务(最多每隔1分钟做周期性任务) crontab -l 系统自身的周期性任务 配置周期性任务 cront ...
- day04-MyBatis的注解开发
单表的CRUD注解开发: User实体类: package com.zyb.pojo; import java.io.Serializable; import java.util.Date; publ ...
- Java入门笔记 00-前言&目录
前言:这本笔记记录的是Java基础部分的学习内容,大部分内容总结性的,包括: ---01 Java基础语法 ---02 数组 ---03 面向对象 ---04 异常处理 ---05 多线程 ---06 ...
- Pycharm 在 import requests 时报错
requests的安装我尝试了两种方法: 第一种:下载安装 https://github.com/requests/requests 然后解压到:(python的安装路径,这里使用的是默认路径) Ap ...
- MySQL(window10)加载配置文件的顺序
mysql加载配置的顺序为:(mysql --help中有详细的说明) C:\WINDOWS\my.ini C:\WINDOWS\my.cnf C:\my.ini C:\my.cnf D:***\my ...
- Session共享解决方案
使用nginx做的负载均衡添加一个ip_hash配置 一.开两个Tomcat写测试程序 @WebServlet("/nginxSessionServlet") public cla ...
- 3_01_MSSQL课程_Ado.Net_连接数据库
1. Ado.Net 是一组微软的c#操作数据库的类库. 2.开发人员将界面上的数据(用户的操作和输入的数据)存储到数据库当中.. 3.数据库访问的驱动.即:应用程序和数据库的桥梁. 4.驱动层. S ...
- 解题报告:luogu P5543 [USACO19FEB]The Great Revegetation S
题目链接:P5543 [USACO19FEB]The Great Revegetation S 好坑啊,都身败名裂了. 思路一: 考虑染色法,跑一遍搜所就好了,不给代码了. 思路二: 考虑并查集,我想 ...
- Flutter | 状态管理特别篇——Provide
前言 今天偶然发现在谷歌爸爸的仓库下出现了一个叫做flutter-provide的状态管理框架,2月8日才第一次提交,非常新鲜.在简单上手之后感觉就是一个字--爽!所以今天就跟大家分享一下这个新的状态 ...