synchronize
synchronize 模块是 Ansible 中对 rsync 工具的一个封装。它主要用于在控制节点和远程主机之间高效地同步文件和目录。它利用 rsync 的增量传输算法同步时只传输发生变化的部分因此在处理大量文件或大文件时效率远超 copy 等模块参数src定义要同步的源文件或目录。dest目标路径。定义同步的目标位置。mode定义同步方式。push推送默认将本地文件推送到远程pull拉取则将远程文件拉取到本地。archive默认值yes开启归档模式。相当于 rsync 的 -a 选项会保留权限、所有者、时间戳等文件属性。compress默认值为noyes代表传输压缩。在传输过程中压缩数据可节省带宽但会消耗一些 CPU 资源。delete默认值为noyes删除无关文件。删除目标端存在但源端不存在的文件使目标完全与源一致。rsync_opts自定义 rsync 参数。可以传递额外的 rsync 命令行选项如 --exclude。recursive默认值yes递归目录。当 archiveyes 时自动启用。dest_port默认值为22目标 SSH 端口。如果目标主机的 SSH 端口不是默认的 22则需指定。delay_updatesdelay_updates 参数控制 rsync 的 --delay-updates 选项。启用后rsync 会将更新的文件先放到一个临时目录等所有文件都传输完成再一次性重命名到目标位置第一次pull时需要将此参数设置为no示例将远程文件拉取到本地rootmaster:~# ansible web -m synchronize -a ‘src/etc dest/data00/ modepull compressyes archiveyes delay_updatesno’10.37.99.63 | CHANGED {“changed”: true,“cmd”: “/usr/bin/rsync --compress --archive --rsh‘/usr/bin/ssh -S none -o StrictHostKeyCheckingno -o UserKnownHostsFile/dev/null’ --out-format‘%i %n%L’ 10.37.99.63:/etc /data00/”,#…省略万字内容}回到顶部软件包管理模块yumCentOS/RHEL 系统安装软件核心参数name服务名state进行的操作安装、更新、删除installed/present 安装软件包默认不更新默认值removed/absen 删除软件包类似 yum removed需要慎用latest安装或更新(安装最新版本)示例安装常用的软件htop,iotop、tree、sshpassrootmaster:/data00# ansible web -m yum -a ‘namehtop,iotop,tree,sshpass statelatest’aptUbuntu/Debian系统安装软件核心参数name服务名update_cache更新 apt 缓存state进行的操作安装、更新、删除installed/present 安装软件包默认不更新默认值removed/absen 删除软件包类似 yum removed需要慎用latest安装或更新(安装最新版本)示例安装常用的软件htop,iotop、tree、sshpassrootmaster:/data00# ansible web -m apt -a ‘namehtop,iotop,tree,sshpass statelatest’ -e ‘ansible_python_interpreter/usr/bin/python3’unarchive支持 tar/zip可解压本地包或远程 url 包。核心参数src指定要解压的归档文件路径。路径含义取决于 remote_src 的设置desc解压目标目录的绝对路径。注意该目录必须已存在模块不会自动创建remote_src控制源文件位置。no 表示文件在控制节点yes 表示文件已在远程主机owner指定解压后的所属用户group指定解压后的所属组mode设置解压后文件和目录的权限。建议使用引号括起来的八进制数如 ‘0755’示例压缩包在控制节点解压到目标主机rootmaster:~# ansible web -m unarchive -a ‘src/root/jdk.tar.gz dest/usr/local remote_srcno’压缩包在目标主机直接解压rootmaster:~# ansible web -m unarchive -a ‘src/root/jdk.tar.gz dest/usr/local remote_srcyes’archive压缩某个文件参数path要归档的源文件或目录路径。支持列表可指定多个路径。dest目标归档文件的完整路径。如果 path 是多个则此参数必须多个format归档格式。可选gz (tar.gz)、bz2、xz、zip、tar。remove归档成功后是否删除源文件yes是no否owner归档后的所属人group归档后的所属组mode归档后的权限示例ansible all -m archive -a “path/var/log dest/tmp/logs.tar.gz formatgz”回到顶部服务、进程模块systemd用于管理服务启动、停止、重启、开机自启动等参数name服务名称enabled指定服务是否开机自启动yes代表开机自启动no代表不是state表示服务的状态started启动stopped停止restarted重启reloaded重新加载示例rootmaster:~# ansible web -m systemd -a ‘namesshd enabledyes statestarted’10.37.120.9 | SUCCESS {“ansible_facts”: {“discovered_interpreter_python”: “/usr/local/bin/python3.13”},“changed”: false,“enabled”: true,# … 省略万字内容}回到顶部用户模块user远程批量管理用户例如创建、删除用户修改用户密码等参数name指定用户名uid用户idshell指定命令解释器create_home是否创建家目录no表示不创建yes表示创建state管理用户的动作present添加用户adsent删除用户password设置密码示例所有机器创建虚拟用户web_wwwrootmaster:~# ansible all -m user -a ‘nameweb_www statepresent create_homeno shell/sbin/nologin’10.37.120.9 | CHANGED {“ansible_facts”: {“discovered_interpreter_python”: “/usr/local/bin/python3.13”},“changed”: true,“comment”: “”,“create_home”: false,“group”: 2003,“groups”: “”,“home”: “/home/web_www”,“name”: “web_www”,“shell”: “/sbin/nologin”,“state”: “present”,“system”: false,“uid”: 2002}10.37.99.63 | CHANGED {“ansible_facts”: {“discovered_interpreter_python”: “/usr/local/bin/python3.13”},“changed”: true,“comment”: “”,“create_home”: false,“group”: 2003,“groups”: “”,“home”: “/home/web_www”,“name”: “web_www”,“shell”: “/sbin/nologin”,“state”: “present”,“system”: false,“uid”: 2002}rootmaster:~# ansible all -m command -a ‘id web_www’10.37.120.9 | CHANGED | rc0 uid2002(web_www) gid2003(web_www) groups2003(web_www)10.37.99.63 | CHANGED | rc0 uid2002(web_www) gid2003(web_www) groups2003(web_www)创建www用户并设置密码为wwwrootmaster:~# ansible all -m user -a “namewww statepresent shell/bin/bash password{{ ‘www’ | password_hash(‘sha512’, ‘1’) }}”groupgroup是批量管理用户组的模块核心参数name用户组名state管理用户组的动作present添加用户组adsent删除用户组gid用户组的id示例rootmaster:~# ansible web -m group -a ‘nametest gid11111 statepresent’10.37.120.9 | CHANGED {“ansible_facts”: {“discovered_interpreter_python”: “/usr/local/bin/python3.13”},“changed”: true,“gid”: 11111,“name”: “test”,“state”: “present”,“system”: false}10.37.99.63 | CHANGED {“ansible_facts”: {“discovered_interpreter_python”: “/usr/local/bin/python3.13”},“changed”: true,“gid”: 11111,“name”: “test”,“state”: “present”,“system”: false}回到顶部定时任务模块cron设置Linux系统的定时任务参数name定时任务的名称minute指定分钟hour指定小时day指定天month指定月份week指定周几job要执行的命令或脚本即 cron 中的命令行部分。state处理任务的动作present表示新增任务absent表示删除匹配的任务示例每天凌晨2点备份日志rootmaster:~# ansible all -m cron -a “name‘nginx backup’ minute0 hour2 job‘/bin/sh /data/sh/log_backup.sh /var/log/backup.log’ statepresent”10.37.120.9 | CHANGED {“ansible_facts”: {“discovered_interpreter_python”: “/usr/local/bin/python3.13”},“changed”: true,“envs”: [],“jobs”: [“nginx backup”]}10.37.99.63 | CHANGED {“ansible_facts”: {“discovered_interpreter_python”: “/usr/local/bin/python3.13”},“changed”: true,“envs”: [],“jobs”: [“nginx backup”]}

相关新闻

毕业后的日子里,请大步向前!

毕业后的日子里,请大步向前!

先简单介绍我自己,本人是一个人文社科类的二本山东毕业生,因为不好找工作,但也不愿在社会中被环境磨平棱角,其实都怪自己醒的太晚,记得上大学那会,对计算机一窍不通,当真正面临就业时候才发现&a…

2026/7/19 22:40:52阅读更多 →
如何在Windows上运行安卓应用?APK安装器5分钟快速上手指南

如何在Windows上运行安卓应用?APK安装器5分钟快速上手指南

如何在Windows上运行安卓应用?APK安装器5分钟快速上手指南 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 你是否曾经想在Windows电脑上运行安卓应用&#…

2026/7/19 22:40:52阅读更多 →
Service 业务实现层 ChatServiceImpl

Service 业务实现层 ChatServiceImpl

核心业务处理,包含会话防并发创建、消息事务入库、WebSocket推送、离线消息补发、批量已读标记。 package com.para.system.chat.service.impl; import com.para.common.utils.SecurityUtils; import com.para.system.chat.domain.ChatMessage; import com.para.sys…

2026/7/19 22:38:52阅读更多 →
解决Hypack启动报错:VC++运行库依赖原理与安装修复全指南

解决Hypack启动报错:VC++运行库依赖原理与安装修复全指南

1. 项目概述:当专业软件遇上“拦路虎”搞测绘、做水文的朋友,对Hypack这个软件肯定不陌生。它几乎是内业数据处理和外业导航测量的行业标准工具之一。但很多同行,尤其是刚接触这个软件的新手,在安装Hypack时,十有八九会…

2026/7/20 13:42:45阅读更多 →
Spring循环依赖:为什么原型Bean和构造器依赖无解?三级缓存又为何而生?

Spring循环依赖:为什么原型Bean和构造器依赖无解?三级缓存又为何而生?

一、什么是循环依赖一个“先有鸡还是先有蛋”的编程难题想象一下这个场景:小明说:“我的工作依赖小红完成的数据。”小红说:“不行,我得等小明先把框架搭好,我才能开始处理数据。”两人互相等待,工作永远无…

2026/7/20 13:42:45阅读更多 →
Go语言字符串底层原理与高效处理实践

Go语言字符串底层原理与高效处理实践

1. Go语言字符串基础解析Go语言中的字符串(string)是一种不可变的字节序列,底层实现是一个指向字节数组的指针和长度信息的结构体。从语法层面看,字符串可以包含任意字节,但按照惯例通常存储UTF-8编码的Unicode文本。字符串的零值是空字符串&…

2026/7/20 13:42:45阅读更多 →
AI编程工具协同:Claude Code与Codex插件集成实战指南

AI编程工具协同:Claude Code与Codex插件集成实战指南

如果你正在使用 Claude Code 进行日常开发,最近一定被一个选择困扰:当需要更深入的代码审查、更复杂的调试任务,或者想把一个棘手的 bug 直接“甩”给 AI 时,是该切换到另一个独立的 Codex 应用,还是继续在 Claude Cod…

2026/7/20 13:42:45阅读更多 →
5分钟掌握国家中小学智慧教育平台电子课本下载:智能工具助您轻松获取PDF教材

5分钟掌握国家中小学智慧教育平台电子课本下载:智能工具助您轻松获取PDF教材

5分钟掌握国家中小学智慧教育平台电子课本下载:智能工具助您轻松获取PDF教材 【免费下载链接】tchMaterial-parser 国家中小学智慧教育平台 电子课本下载工具,帮助您从智慧教育平台中获取电子课本的 PDF 文件网址并进行下载,让您更方便地获取…

2026/7/20 13:42:45阅读更多 →
终极指南:如何轻松解锁《鸣潮》游戏模组,打造个性化游戏体验

终极指南:如何轻松解锁《鸣潮》游戏模组,打造个性化游戏体验

终极指南:如何轻松解锁《鸣潮》游戏模组,打造个性化游戏体验 【免费下载链接】wuwa-mod Wuthering Waves pak mods 项目地址: https://gitcode.com/GitHub_Trending/wu/wuwa-mod 还在为《鸣潮》游戏中的挑战而烦恼吗?想要更流畅的战斗…

2026/7/20 13:40:44阅读更多 →
Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/20 0:50:54阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/20 0:50:54阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/20 0:50:54阅读更多 →
2026 WAIC:努比亚二代“豆包手机”NaviX Ultra亮相,智能体验全面升级!

2026 WAIC:努比亚二代“豆包手机”NaviX Ultra亮相,智能体验全面升级!

7月18日智东西消息,在2026 WAIC期间,努比亚联合字节豆包打造的二代“豆包手机”努比亚NaviX Ultra首次亮相,相比一代有诸多升级。智能体手机理念中兴通讯终端事业部总裁、努比亚总裁倪飞表示,智能体手机要从人操作手机变为手机帮人…

2026/7/20 0:01:04阅读更多 →
努比亚NaviX Ultra亮相WAIC,智能体手机能否让用户生活更简单?

努比亚NaviX Ultra亮相WAIC,智能体手机能否让用户生活更简单?

努比亚NaviX Ultra:外观与功能双升级在2026 WAIC期间,首次亮相的努比亚NaviX Ultra吸引了众多目光。它是努比亚联合字节豆包打造的二代“豆包手机”,与一代努比亚M153相比,外观设计变化较大。其机身背部搭载横向排布的大尺寸影像模…

2026/7/20 0:01:04阅读更多 →
C# 将逗号分割的字符串转换为long,并添加到List<long>

C# 将逗号分割的字符串转换为long,并添加到List<long>

目录 方法1:使用Split和Convert.ToInt64 方法2:使用LINQ的Select和ToList 方法3:使用TryParse进行异常安全转换(推荐) 如果您喜欢此文章,请收藏、点赞、评论,谢谢,祝您快乐每一天…

2026/7/20 0:01:04阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/19 22:50:49阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/19 14:50:26阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/19 18:50:36阅读更多 →