社区
Linux/Unix社区
帖子详情
C程序调用system启动rsync,密码不知道怎么输入。
Jackindata
领域专家: 嵌入式与硬件开发技术领域
2012-08-29 02:54:27
在Linux系统中,当前目录下有一个静态编译好的rsync,执行./rsync然后输入密码是能够正常运行的。现在我在C程序中调用system("./rsync -vzr dir1 192.168.1.11:/root/dir2"); shell终端提示我要输入密码,但是我不知道该怎么样在C程序里把密码输入。
...全文
415
8
打赏
收藏
C程序调用system启动rsync,密码不知道怎么输入。
在Linux系统中,当前目录下有一个静态编译好的rsync,执行./rsync然后输入密码是能够正常运行的。现在我在C程序中调用system("./rsync -vzr dir1 192.168.1.11:/root/dir2"); shell终端提示我要输入密码,但是我不知道该怎么样在C程序里把密码输入。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Jackindata
2012-08-31
打赏
举报
回复
我也看到过有用expect来实现密码输入的。但是开发板的剪裁过的Linux系统也不支持这个expect 。
Jackindata
2012-08-31
打赏
举报
回复
[Quote=引用 4 楼 的回复:]
引用 3 楼 的回复:
system("echo password|./rsync -vzr dir1 192.168.1.11:/root/dir2")
或者rsync可以配置成不用密码的
rsync是通过ssh来建立连接的。如果我直接在shell终端下执行 echo 123 | ssh 192.168.1.11 来建立ssh连接,会有如下出错提示:Pseudo-ter……
[/Quote]
ssh 加入-tt 选项就没有那个错误了。执行 echo 123 | ssh -tt 192.168.1.11 还是会提示输入密码,输入密码123后,链接到ssh成功,而且123被当作命令来执行了。而且,用键盘输入其他命令如ls都执行不了。只能Ctrl+c退出ssh返回到本机终端。
Jackindata
2012-08-31
打赏
举报
回复
[Quote=引用 5 楼 的回复:]
设置ssh 不需要密码
1、客户端产生公钥,执型下面命令,按两次【Enter】,产生公钥id_rsa.pub
ssh-keygen -f id_rsa -t rsa
2、上传公钥文件到服务器
scp id_rsa.pub root@xxx.xxx.xxx.xxx:/root/.ssh/authorized_keys
3、保存私钥
cp id_rsa ~.ssh
如果成功,则ss……
[/Quote]
这个方法我试过,但由于我的客户端rsync运行在开发板上,没有ssh-keygen工具。
root_jli
2012-08-31
打赏
举报
回复
设置ssh 不需要密码
1、客户端产生公钥,执型下面命令,按两次【Enter】,产生公钥id_rsa.pub
ssh-keygen -f id_rsa -t rsa
2、上传公钥文件到服务器
scp id_rsa.pub root@xxx.xxx.xxx.xxx:/root/.ssh/authorized_keys
3、保存私钥
cp id_rsa ~.ssh
如果成功,则ssh到服务器不询问密码
Jackindata
2012-08-31
打赏
举报
回复
[Quote=引用 3 楼 的回复:]
system("echo password|./rsync -vzr dir1 192.168.1.11:/root/dir2")
或者rsync可以配置成不用密码的
[/Quote]
rsync是通过ssh来建立连接的。如果我直接在shell终端下执行 echo 123 | ssh 192.168.1.11 来建立ssh连接,会有如下出错提示:Pseudo-terminal will not be allocated because stdin is not a terminal 。而先执行 ssh 192.168.1.11 再按提示输入密码是可以正常ssh的。
lylm
2012-08-30
打赏
举报
回复
system("echo password|./rsync -vzr dir1 192.168.1.11:/root/dir2")
或者rsync可以配置成不用密码的
jianzhibeihang
2012-08-30
打赏
举报
回复
这个问题有点意思
貌似没啥办法啊
Linux-Torvalds
2012-08-29
打赏
举报
回复
估计这样子很难做到。
Ubuntu 22.04 配置高效安全的
rsync
守护进程服务详解
在Linux系统运维和自动化部署中,文件同步与备份是基础且关键的技术环节。其核心原理在于通过高效的差异算法,仅传输源文件与目标文件之间的变化部分,从而极大节省网络带宽和传输时间。这项技术的核心价值在于为数据一致性、灾难恢复和持续集成/持续部署(CI/CD)提供可靠保障,广泛应用于日志集中收集、代码仓库镜像和跨服务器应用部署等场景。
rsync
作为该领域的经典工具,以其高效、可靠和灵活的特性,通过守护进程(daemon)模式,构建了无需SSH账户、性能开销更小的专属文件同步节点。本文将深入解析在Ubuntu 2
基于
rsync
+Lsyncd做局域网内,实时文件同步
Lsyncd与
Rsync
组合实现高效文件实时同步。配置流程包括:1)在两台服务器分别安装lsyncd+
rsync
和
rsync
;2)编写Lua格式配置文件,定义源目录、目标服务器、同步规则等参数;3)测试配置后
启动
服务。关键注意事项:确保SSH免密登录、合理设置delete参数、检查权限与防火墙。该方案支持多目标同步、延迟聚合、文件过滤等功能,适用于需要低延迟同步的场景。通过systemctl管理服务,提供实时日志监控,修改配置需重启生效。
Linux实时文件同步:
rsync
+se
rsync
架构部署与性能调优指南
在Linux运维和DevOps实践中,数据同步是保障业务连续性的基础技术。其核心原理在于通过监控文件系统变化并触发增量传输,实现源端与目标端的数据一致性。这项技术的核心价值在于将RPO(恢复点目标)从小时级压缩至分钟甚至秒级,显著降低数据丢失风险。典型的应用场景包括内容发布系统、财务数据备份、日志集中管理等对数据实时性要求较高的业务。本文聚焦于经典的
rsync
+se
rsync
组合方案,深入解析其基于Inotify事件监听与
rsync
增量同步的协同工作机制。通过详解守护进程配置、事件过滤、失败重试等关键配置,
使用
rsync
备份Windows事件日志
使用
rsync
备份Windows事件日志 Windows版软件:cw
Rsync
Server 安装比较简单一直下一步即可,
输入
到创建账号页面的时候可以自己设置一个
密码
。 服务器端:cw
Rsync
Server_4.0.5_Installe.zip 客户端:cw
Rsync
_4.0.5_Installer.zip 由于特殊原因需要收集Windows的Application、Security、Setup、...
基于
rsync
+se
rsync
实现服务器目录实时同步与数据备份方案详解
数据同步与备份是运维和系统管理中的基础且关键的技术环节,其核心目标是确保数据在不同位置间的一致性、完整性和可用性。其原理通常基于文件系统监控和差异传输技术,通过实时或定期捕获源端变化,仅同步增量数据,从而高效利用网络带宽和存储资源。这项技术的价值在于为业务连续性、灾难恢复和数据归档提供了自动化保障,避免了手动操作的滞后与遗漏。在应用场景上,广泛服务于代码发布同步、日志集中归档、跨机房数据备份以及作为数据库物理备份的分发通道。本文聚焦于
rsync
+se
rsync
这一经典组合,
rsync
凭借其高效的增量同步算法
Linux/Unix社区
23,224
社区成员
74,536
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章