rsync

使用tldr查询命令

江枫思渺然 提交于 2020-02-29 03:10:57
在大家刚接触shell的时候,都会这样遇到一个问题,如何使用一个命令。一个命令往往有各种各样的可选项,参数,这对初学者造成了很大的负担。比如我们想学习如何使用 rsync 命令同步数据,一般有两种方法,一是上网找博客,看别人是如何使用的;二是使用 man 查询 rsync 的用法。 上述两种方法各有优缺点,第一中在没网的情况下比较麻烦,而且网上资源比较凌乱,费时费力。第二种方法问题在于man方法太过详细,以至于看起来也相当费劲,就拿 rsync 命令来说,在我的电脑上需要两千七百多行。 大家想必也知道 tl;dr --Too long; Didn't read(太长,所以没有看)。 于是有人就做出了 tldr 命名来辅助man命令。 tldr 的思想就是利用20%的内容显示命令80%常用的操作,先看看在我电脑上的效果吧: ]( https://static.oschina.net/uploads/img/201608/08160521_BCry.png "在这里输入图片标题") 大家有兴趣可以去 github 上下载这个项目。 来源: oschina 链接: https://my.oschina.net/u/1788420/blog/729597

YUM源部署和使用

心已入冬 提交于 2020-02-27 15:11:47
1.前言 为什么需要内部yum源呢,有可能是业务内部的服务器对外是不通了,居于一些安全方面的考虑。内部yum源又有什么好处呢,第一,速度快;第二,内网可控,外网有问题也不影响内网包的下载和安装等。 2.部署 2.1 创建yum仓库目录 mkdir -p /data/yum_data/centos/6/os/x86_64/ mkdir -p /data/yum_data/centos/6/extras/x86_64/ mkdir -p /data/yum_data/centos/6/updates/x86_64/ mkdir -p /data/yum_data/epel/6/x86_64/ 2.2 镜像同步公网yum源 上游yum源必须要支持rsync协议,否则不能使用rsync进行同步 CentOS官方标准源: rsync://mirrors.ustc.edu.cn/centos/ epel源: rsync://mirrors.ustc.edu.cn/epel/ 同步命令: <!--more--> rsync -auvzP --bwlimit=1000 rsync://rsync.mirrors.ustc.edu.cn/centos/6/os/x86_64/ /data/yum_data/centos/6/os/x86_64/ rsync -auvzP --bwlimit=1000

关于ET5.0 在Unity中RSync同步Win32Exception异常处理

◇◆丶佛笑我妖孽 提交于 2020-02-27 14:01:18
可以参考我之前的文章 Win32Exception解决方法 主要代码是: ETModel.ProcessHelper类中的 原先:ProcessStartInfo info = new ProcessStartInfo { FileName = exe, Arguments = arguments, CreateNoWindow = true, UseShellExecute = useShellExecute, WorkingDirectory = Path.GetFullPath(workingDirectory), RedirectStandardOutput = redirectStandardOutput, RedirectStandardError = redirectStandardError, }; 修改后: ProcessStartInfo info = new ProcessStartInfo { FileName = Path.GetFullPath(workingDirectory)+ exe, Arguments = arguments, CreateNoWindow = true, UseShellExecute = useShellExecute, WorkingDirectory = Path.GetFullPath(workingDirectory

ET5.0如何使用Rsync同步工具,将Windows下的文件同步到远程服务器Centos

狂风中的少年 提交于 2020-02-27 11:39:44
ET5.0下载:https://github.com/egametang/ET ,选择Branch_V5.0的分支 准备 1. Windows平台在ET5.0根目录下Tools\cwRsync文件加下有个rsync.exe文件,这是 RSync的客户端 。 2.1 在Centos平台下安装Rsync: sudo yum -y install rsync 2.2 启动Rsync服务,默认端口873 sudo systemctl start rsyncd 2.3 查看是否启动,并查看占用的端口是否包含873,如果有说明启动成功 netstat -tlunp 2.4 为了外界能连接到此服务器端口,需要将873端口暴露 firewall-cmd --zone=public --add-port=873/tcp --permanent #将端口暴露 firewall-cmd --reload #重载防火墙 firewall-cmd --zone=public --list-ports #查看防火墙暴露的端口,如果有873说明能从外界连接该服务器的Rsync服务 2.5 先关闭Rsync,配置一些模块: sudo systemctl stop rsyncd #关闭服务 2.6 打开RSync的配置文件,并将文件按如下格式修改,然后保存 sudo vim /etc/rsyncd.conf

如何使用“ cp”命令排除特定目录?

徘徊边缘 提交于 2020-02-27 08:28:03
我要复制目录中的所有文件,但特定子目录中的某些文件除外。 我注意到'cp'命令没有--exclude选项。 那么,我该如何实现呢? #1楼 扩展对 mvds的评论 ,这对我 有用 cd dotfiles tar -c --exclude .git --exclude README . | tar -x -C ~/dotfiles2 #2楼 cp -r `ls -A | grep -v "c"` $HOME/ #3楼 rsync快速简便: rsync -av --progress sourcefolder /destinationfolder --exclude thefoldertoexclude 您可以使用 --exclude 多次。 rsync -av --progress sourcefolder /destinationfolder --exclude thefoldertoexclude --exclude anotherfoldertoexclude 请注意,Dir thefoldertoexclude 后 --exclude 选项是相对于 sourcefolder ,即 sourcefolder/thefoldertoexclude 。 另外,您可以添加 -n 以进行空运行,以查看执行实际操作之前将要复制的内容,如果一切正常,请从命令行中删除 -n 。 #4楼 同步

xsync集群分发配置

若如初见. 提交于 2020-02-27 08:02:31
1)rsync是什么? rsync主要用于备份和镜像,具有速度快、避免复制相同内容和支持符号链接的优点。 2)rsync和scp区别: 用rsync做文件的复制要比scp的速度快,rsync只对差异文件做更新。 scp是把所有文件都复制过去。 3)基本语法 rsync -av $pdir/$fname $user@hadoop$host:$pdir/$fname 命令 选项参数 要拷贝的文件路径/名称 目的用户@主机:目的路径/名称 命令 选项参数 要拷贝的文件路径/名称 目的用户@主机:目的路径/名称 rsync -av $pdir/$fname $user@hadoop$host:$pdir/$fname 选项 功能 -a 归档拷贝 -v 显示复制过程 xsync集群分发脚本 执行命令可循环复制文件到所有节点的相同目录下 期望脚本: xsync 要同步的文件名称 说明:在/usr/local/bin这个目录下存放的脚本,用户可以在系统任何地方直接执行。 也可以放到当前用户如 /home/luffy/bin 下创建的/bin目录中 脚本实现 在/usr/local目录下创建bin目录,并在bin目录下xsync创建文件,文件内容如下: #!/bin/bash #1 获取输入参数个数,如果没有参数,直接退出 pcount=$# if [ $pcount -lt 1 ] then

用Rsync,实现网站的增量部署

时间秒杀一切 提交于 2020-02-26 01:23:04
整个网站通常会很大,尤其的其中静态的图片视频之类,但我们通常不会修改他们,平常只会修改几个文件,如果每次更新都将整个网站从本地上传到服务器,无疑很费时间,如果要找到修改的文件,并只上传这些文件,甚至只上传这些文件修改的部分,无疑会方便很多。 这就要用的到今天的主角 Rsync ,Rsync 可以执行增量备份,它只传输源文件和目标文件之间不一致的部分 环境: web服务器root目录 /usr/share/nginx/game.shaochenfeng.com 本地项目目录 /git/game.shaochenfeng.com/public 首先建议配置好本地到web服务器的ssh免密码登陆[如何?](),不配置需要以后每次同步时输入密码 1.在web服务器端安装rsync 直接yum或apt安装就可以,在服务器端和本地都安装 yum install rsync # 红帽系 apt install rsync # Debian系 为什么要在服务器也安装rsync呢?因为虽然是通过ssh建立链接,但rsync使用的是自己的传输规则,而不是scp 2.向服务器推送 在本地执行,同步 本地项目目录 到 web服务器root目录 rsync -avz --delete <本地路径> www@192.168.56.10:<远程路径> rsync -avz --delete /git/game

rsync

故事扮演 提交于 2020-02-25 22:13:45
Rsync 一款快速增量备份工具 支持远程同步,支持上传和下载 命令: Rsync [选项] 原始位置 目标位置 -a:归档模式,递归并保留对象属性,等同于 -rlptgoD -v:显示同步过程的详细(verbose)信息 -z:在传输文件时进行压缩(compress) -H:保留硬连接文件 -A:保留ACL属性信息 --delete:删除目标位置有而原始位置没有的文件 --checksum:根据对象的校验和来决定是否跳过文件 上传:rsync -avz A(/opt/ ) B(root@目标IP:/root/html) rsync -avz A(/opt/ ) B(root@目标IP::wwwroot) :: 表示连接的是共享文件夹 将A主机的文件上传到主机B 下载:rsync -avz B(root@IP:/root/html) A(/opt/ ) rsync -avz B(root@目标IP::wwwroot) A(/opt/ ) A是客户端,B是服务器 实验:2台linux 服务器:192.168.80.182 客户端:192.168.80.181 客户端:安装rsync工具 服务器: 1 yum install -y rsync 2 vi /etc/rsyncd.conf uid = nobody gid = nobody use chroot = yes address

树莓派nas配置备忘

╄→гoц情女王★ 提交于 2020-02-25 19:59:52
1、使用rsync做了两个文件夹的同步,如下「rsync.sh」 #!/bin/sh rsync -rtvu --delete-delay /root/cloud/file1/ /root/cloud/file2/ 2、在服务器创建一个计划任务定时来执行这个同步过程 0 */12 * * * sh /root/shell/rsync.sh 3、创建一个mount脚本用来完成硬盘挂在,如下「mount.sh」 #!/bin/sh mount /dev/sdb1 /root/cloud/file2/ mount /dev/sda1 /root/cloud/file1/ 同时,创建一个软连接,如下「mymount」 ln -s /root/shell/mount.sh /usr/local/bin/mymount 4、在「/usr/lib/systemd/system/」下,创建一个systemd脚本用来在系统启动时完成磁盘挂载,如下「mymount.service」 [Unit] Description=my mount After=network.target [Service] Type=forking ExecStart=/usr/local/bin/mymount [Install] WantedBy=multi-user.target 并通过「systemctl daemon

使用Git push部署项目

巧了我就是萌 提交于 2020-02-25 19:59:19
是否可以使用 git push 部署网站? 我有一种预感,它与使用 git钩子 在服务器端执行 git reset --hard 有关,但是我将如何实现呢? #1楼 我最终创建了自己的基本部署工具,该工具会自动从存储库中提取新更新-https: //github.com/jesalg/SlimJim- 基本上,它会侦听github post-receive-hook并使用代理触发更新脚本。 #2楼 我们使用 capistrano 来管理部署。 我们构建了capistrano以部署在登台服务器上,然后与我们所有的服务器运行rsync。 cap deploy cap deploy:start_rsync (when the staging is ok) 使用capistrano,我们可以在发生错误的情况下轻松回滚 cap deploy:rollback cap deploy:start_rsync #3楼 我对 基督徒的 解决方案的看法。 git archive --prefix=deploy/ master | tar -x -C $TMPDIR | rsync $TMPDIR/deploy/ --copy-links -av username@server.com:/home/user/my_app && rm -rf $TMPDIR/deploy 将主分支归档到tar中