我想将源代码文件从远程文件系统复制到本地服务器。 源代码文件扩展名是*。?pp,*。[CHh]。 我如何运行rsync来复制远程文件系统层次结构和源代码文件,排除其他所有内容(二进制文件,库,对象,存储库文件…)? PS:到目前为止,我使用这个可怕的线,必须有一个更容易的解决scheme: $ rsync –include "*/" –include="*/*" –include="*/*/*" –include="*/*/*/*" –include="*.[CHh]" –include="*.?pp" –exclude="*" -axW user@remote/my/remote/dir ./
我一直在遇到一个奇怪的问题,那就是在通过crontab执行的时候,rsync命令没有运行。 以下是代码: #!/bin/sh -x PATH=/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/mysql/bin:/opt/android-sdk-linux/tools:/opt/android-sdk-linux/platform-tools:~/usr/lib/jvm/jdk-6/bin /bin/sh /etc/profile MyUSER="root" # USERNAME MyPASS="password" # PASSWORD MyHOST="localhost" # Hostname Password="" #Linux Password MYSQL="$(which mysql)" if [ -z "$MYSQL" ]; then echo "Error: MYSQL not found" exit 1 fi MYSQLADMIN="$(which mysqladmin)" if [ -z "$MYSQLADMIN" ]; then echo "Error: MYSQLADMIN not found" exit 1 fi CHOWN="$(which chown)" if [ […]
我正在使用rsync将应用程序日志文件从一台服务器转移到另一台服务器。 它的工作正常,除了扫描目录需要永远。 我有大约160,000个日志文件和几千个目录,所以我可以理解为什么扫描需要这么长时间。 但是,只有less数这些文件在任何给定的同步更改,所以我想知道是否有一个更有效的方式或rsync选项,可以加快这一点? 日志文件本身很小(每个只有几个kb)。 谢谢!
由于我的目录大小,我不得不把我的rsync任务分解成更小的工作。 从本质上讲,我是按字母顺序做的(例如,脚本可以同步以AD,EH等开头的文件夹)。 我遇到的问题是这个…..我的AD filter.txt文件工作正常,但所有其他人失败。 我相信这个问题是因为我正在同步的path是: /AUser/db/Backups/*** /AUser2/db/Backups/*** /CUser/db/Backups/*** /EUser/db/Backups/*** 我的AD的filter.txt文件如下所示: – E* – e* – F* – f* (etc all the way through Z) + */db/ + */db/Backups/*** – * 上面的一个没有问题。 但是,这个不是: – A* – a* – B* – b* – C* – c* – D* – d* – I* – i* – J* (etc […]
我试图在Ubuntu服务器下configuration一个自动的MySQL备份解决scheme。 我为此select了automysqlbackup和rsync (它似乎是一个不错的select?) 在每次备份之后, rsync将在automysqlbackup #POSTBACKUPcallback中用于将备份发送到远程服务器。 我发现automysqlbackup使用root作为默认用户来进行操作。 我怎样才能使automysqlbackup使用专用的Linux用户,所以我可以轻松地pipe理SSH密钥和类似的东西? 更新: 附加到#POSTBACKUP的脚本将类似于: #!/bin/bash rsync -ar /var/lib/automysqlbackup/ \ backup@my_remote_backup_server:~/remote_backup/$HOSTNAME
由于公司拆分,需要对两台旧式凌乱的Windows XP机器进行一次性备份。 使用CentOS 6 x64最小安装,我安装了一些MS Windows NTFS硬盘,通过ntfs3g在本地安装,并通过局域网通过smb安装。 我需要自己logging备份的内容,并认为没有比使用rsync完成所有脚本更好的方法。 问题是几乎所有的SOURCE文件夹名称中都有空格。 rsync的手册页似乎表明它只支持多个源文件 ,而不是多个源文件夹 。 所以我认为“足够简单”,创build一个列表,并将每个源文件夹一次一个地传递给rsync。 脚本: SOURCEWITHSPACES=( "${PREFIX}/'Documents\ and\ Settings'/. ${PREFIX}/'electronic\ claims'/. ${PREFIX}/'billing\ statements'/." ) for P in ${SOURCEWITHSPACES[@]}; do echo $P; done; OUTPUT: /媒体/ 4EC75 /“文件\ 和\ 设置/。 /媒体/ 4EC75 /'电子\ 权利要求书/。 /媒体/ 4EC75 /'计费\ 声明/。 所以当它传递给rsync时,它不能识别任何SOURCE文件夹。 我不想整理,因为它需要清楚地确定要备份的内容。 我也尝试逗号和冒号分隔文件夹名称,但是也没有工作。 什么是可靠的方式来处理这个? 切换到Perl或Python? 请不要告诉我使用robocopy.exe,因为我已经使用了它多年,发现它在Windows版本之间差别很大,它不太可靠。 另外,我永远不会回到Windows。 TAG = spacesinfolderfilenames
我在pipe理一个中等大小的AIX环境。 我们可能有… 40个系统。 我们正在使用AIX 6.1,它有一个名为cfmupdatenode的命令。 这个程序所做的是让你定义一个根(/ cfmroot),它成为你的同步根。 当您运行cfmupdatenode -a(或-n [nodeName])时,它会将这些文件同步到适当的服务器。 它知道的方式是这样的: 节点事先被预定义(flux = flux.domain.com; spin = spin.domain.com; jump = jump.domain.com;等等) 如果需要,组也可以预定义(group1 = [flux,spin]) / cfmroot下的每个文件都可以有文件名的后缀,用于定义文件的位置。 一个例子是这样的: / cfmroot / etc / hosts [此文件将被分发到所有已定义的节点] /cfmroot/etc/hosts.jump [这个文件只会被分发跳转] /cfmroot/etc/hosts.group1 [该文件将被分发到group1中的节点,这是flux和spin] 它工作得很好,有点慢,但考虑到它所做的一切,它运作良好。 问题是我们想要升级到不再支持cfmupdatenode的AIX 7.1。 我已经search了互联网的替代品,但我似乎无法find任何东西。 我想我可能不得不写我自己的,但我宁愿使用已经存在的工具。 有没有人听说过在野外有类似的东西? 谢谢!
我使用带-av参数的rsync将网站从一台服务器迁移到另一台服务器。 没有显示错误,但文件夹的大小是不一样的,网站无法正常工作。 所以缺less一些东西。 有一个参数谁真的复制一切? 我有双方的sudo帐户。 我用du -s dir检查文件夹大小,大小如下: old server : 2554620 new server : 2547676 它是以字节为单位的。 我如何pipe理确切的副本? Wordcount输出: old server : 2663 3105 175534 new server : 2665 3107 175594
我正在尝试使用守护进程模式启动的rsync备份一些文件夹。 基本上客户端启动这个命令: rsync –delete -avz -R -e "ssh -i ${KEY}" ${SERVER}::${MODULE} {DST_DIR} 服务器的authorized_keys文件上有公钥: command="rsync –server –daemon –config /root/rsync.conf" 这里是包含我想要备份的文件夹的rsync.conf文件: uid=0 gid=0 read only = true use chroot = true [backup] path = /root path = /etc 这里的问题是这些文件夹的内容被复制,而不是其绝对path。 我想/ etc / etc_content和/ root / root_content在我的$ {DST_DIR},我得到的是/ etc的内容(我认为/ root是同步的,然后/ etc,删除/根内容…哎哟)。 我很确定有一种方法来强制rsync保存绝对path。 我已经尝试使用-R选项,但没有成功。 我也试过不使用chroot。 我怎样才能通过? 非常感谢
很多小时来检查这个脚本,但没有什么好…我有一个Linux的rsync服务器和Linux客户端我使用: rsync –password-file=/usr/home/user/.rsync.pass –log-file=/var/log/docs.log –progress –stats -avr –delete [email protected]::docs /home/user/docs 一切正常,问题是与FreeBSD的rsync客户端: msg checking charset: ASCII rsync: safe_read failed to read 1 bytes [Receiver]: Connection reset by peer (54) [Receiver] _exit_cleanup(code=12, file=io.c, line=251): entered rsync error: error in rsync protocol data stream (code 12) at io.c(251) [Receiver=3.1.0] [Receiver] _exit_cleanup(code=12, file=io.c, line=251): about to call exit(12) Linux服务器上的ssh端口是10321 […]