Hello All,
I have an off topic question about rsync and was wondering if i can get some kind person help with it. I have two servers with each server have three same directories on them /dir1/ /dir2/ /dir3/ . How would i achieve this by using rsync? I have tried rsync -avrt --delete server_ip:/dir1/ /dir2/ /dir3/ /dir1/ /dir2/ /dir3/ this does not do anything except give errors.
Someone on IRC suggested i do a loop something like this, for i in "/dir1/ /dir2/ /dir3/"; do rsync -av $i root@server:${i};done but when i do it i do not get what i was expecting and also receive errors about not able to transfer files.
I am not able to post the exact errors since it has been a while since i have attempted this and do not wish to screw stuff up right at the moment, but in general both say rsync cannot transfer files.
So in general is there a way i can do multiple directories in one command or am i left with doing them each individual as in rsync -av server:/dir1/ /dir1/ and repeat for the rest of directories. or does someone know of a better way. my final goal is to have a cronjob do this.
thanks
steven
On Dec 8, 2007 6:21 PM, Steven Vishoot sir_funzone@yahoo.com wrote:
So in general is there a way i can do multiple directories in one command or am i left with doing them each individual as in rsync -av server:/dir1/ /dir1/ and repeat for the rest of directories. or does someone know of a better way. my final goal is to have a cronjob do this.
Look at the --include-from and --exclude-from options in the rsync man page and then read the section further down that explains the format for include/exclude files. Generally, you can use the --exclude-from option to set up both includes and excludes by using + and - notation in your pattern file.
So your pattern file might be something like:
+ /dir1 + /dir2 + /dir3 - **
You'll have to play with it some. I use this technique to do a selective rsync of the CentOS repository for local yum access.
Although, there's no reason the ' for i in /dir1 /dir2 /dir3' shouldn't work. Start debugging your script without the loop, just rsync /dir1 and get that working, then add more.
Jeff
--- Jeff Larsen jlar310@gmail.com wrote:
On Dec 8, 2007 6:21 PM, Steven Vishoot sir_funzone@yahoo.com wrote:
So in general is there a way i can do multiple directories in one command or am i left with doing them each individual as in rsync -av server:/dir1/ /dir1/ and repeat for the rest of directories. or does someone know of a better way. my final goal is to
have
a cronjob do this.
Look at the --include-from and --exclude-from options in the rsync man page and then read the section further down that explains the format for include/exclude files. Generally, you can use the --exclude-from option to set up both includes and excludes by using
- and - notation
in your pattern file.
So your pattern file might be something like:
- /dir1
- /dir2
- /dir3
- **
You'll have to play with it some. I use this technique to do a selective rsync of the CentOS repository for local yum access.
Although, there's no reason the ' for i in /dir1 /dir2 /dir3' shouldn't work. Start debugging your script without the loop, just rsync /dir1 and get that working, then add more.
Jeff _______________________________________________ CentOS mailing list CentOS@centos.org http://lists.centos.org/mailman/listinfo/centos
Jeff,
thank you for your suggestion, I will investigate this more.
Where do I find an RPM for perl-File-Temp for Centos 5 that will work? At some point Perl got upgraded, and perl-File-Temp stopped working, killing amavisd-new. I've tried different versions, even from a src.rpm, but they won't install due to a conflict with Perl.
--- FTNX ftnx@ksbase.com wrote:
Where do I find an RPM for perl-File-Temp for Centos 5 that will work? At some point Perl got upgraded, and perl-File-Temp stopped working, killing amavisd-new. I've tried different versions, even from a src.rpm, but they won't install due to a conflict with Perl.
Hello,
File::Temp is part of core perl.
root@support tlviewer]# locate File/Temp.pm /data/mock/centos-5-i386/root/usr/lib/perl5/5.8.8/File/Temp.pm /data/mock/centos-5-x86_64/root/usr/lib/perl5/5.8.8/File/Temp.pm /usr/lib/perl5/5.8.8/File/Temp.pm
[root@support tlviewer]# perl -M'File::Temp 9999' File::Temp version 9999 required--this is only version 0.16. BEGIN failed--compilation aborted.
[root@support tlviewer]# rpm -ql perl | grep Temp.pm /usr/lib/perl5/5.8.8/File/Temp.pm /usr/lib/perl5/5.8.8/File/Temp.pm
unless you tried to upgrade it from CPAN, I don't see how you got out-of-sync.
On Saturday 08 December 2007 22:40, Mark Pryor wrote:
unless you tried to upgrade it from CPAN, I don't see how you got out-of-sync.
No. I had to learn the hard way not to use CPAN. I have two Centos 5 machines that have been updated only with Yum, with the default repos + rpmforge. They both stopped updating with the same error:
Transaction Check Error: file /usr/share/man/man3/File::Temp.3pm.gz from install of perl-File-Temp-0.19-1.el5.rf conflicts with file from package perl-5.8.8-10.el5_0.2
I started looking for the problem, when amavisd-new failed with an error pointing to File::Temp.
KS
--- FTNX ftnx@ksbase.com wrote:
On Saturday 08 December 2007 22:40, Mark Pryor wrote:
unless you tried to upgrade it from CPAN, I don't
see
how you got out-of-sync.
No. I had to learn the hard way not to use CPAN. I have two Centos 5 machines that have been updated only with Yum, with the default repos + rpmforge. They both stopped updating with the same error:
Transaction Check Error: file /usr/share/man/man3/File::Temp.3pm.gz from install of perl-File-Temp-0.19-1.el5.rf conflicts with file from package perl-5.8.8-10.el5_0.2
I started looking for the problem, when amavisd-new failed with an error pointing to File::Temp.
Try #yum remove perl-File-Temp
the first time, hit [N]. If it looks like YUM can remove it without damaging perl or anything else, then go ahead and let it do it.
Go look for the perl.src.rpm that matches your version and extract the core File::Temp and copy it into your perl tree.
rpm2cpio perl.i386.src.rpm | cpio -ivd /usr/lib/perl5/5.8.x/File/Temp.pm
I have many of the details fudged here, but the extraction is right. Maybe someone else has a better idea.
On Sat, 8 Dec 2007, FTNX wrote:
Transaction Check Error: file /usr/share/man/man3/File::Temp.3pm.gz from install of perl-File-Temp-0.19-1.el5.rf conflicts with file from package perl-5.8.8-10.el5_0.2
gee -- I can diagnose from here that a 'rf' [repoforge] package conflicts with a base CentOS package; yeah; RepoTags are so useless ... NOT.
-- Russ Herrold
On Sunday 09 December 2007 09:42, R P Herrold wrote:
gee -- I can diagnose from here that a 'rf' [repoforge] package conflicts with a base CentOS package; yeah; RepoTags are so useless ... NOT.
You must be a politician or a weatherman! They both report well-known situations over and over again, without having a clue how to fix them, and even less, willingness to take any action. <sigh>
KS
On Sun, 2007-12-09 at 12:51 -0500, FTNX wrote:
On Sunday 09 December 2007 09:42, R P Herrold wrote:
gee -- I can diagnose from here that a 'rf' [repoforge] package conflicts with a base CentOS package; yeah; RepoTags are so useless ... NOT.
You must be a politician or a weatherman! They both report well-known situations over and over again, without having a clue how to fix them, and even less, willingness to take any action. <sigh>
---- cue Basia, next song...
cruisin' for bruisin'
Craig
Ftnx wrote on Sat, 8 Dec 2007 23:25:16 -0500:
Transaction Check Error: file /usr/share/man/man3/File::Temp.3pm.gz from install of perl-File-Temp-0.19-1.el5.rf conflicts with file from package perl-5.8.8-10.el5_0.2
I'm not sure, but I think this means that your *attempted* install of the rpmforge package fails! (So, this is from your attempt to fix the problem, it didn't create the problem!)
I started looking for the problem, when amavisd-new failed with an error pointing to File::Temp.
It may not have failed because of the attempted installation above, but because amavisd-new needs functionality that is not in the core File::Temp, but only in perl-File-Temp-0.19-1. Coincidentally (?) the very latest MailScanner also needs the very latest perl-File-Temp ... AFAIK it is not recommended to replace files from the Perl core package.
Kai
on 12/10/2007 5:06 AM Kai Schaetzl spake the following:
Ftnx wrote on Sat, 8 Dec 2007 23:25:16 -0500:
Transaction Check Error: file /usr/share/man/man3/File::Temp.3pm.gz from install of perl-File-Temp-0.19-1.el5.rf conflicts with file from package perl-5.8.8-10.el5_0.2
I'm not sure, but I think this means that your *attempted* install of the rpmforge package fails! (So, this is from your attempt to fix the problem, it didn't create the problem!)
I started looking for the problem, when amavisd-new failed with an error pointing to File::Temp.
It may not have failed because of the attempted installation above, but because amavisd-new needs functionality that is not in the core File::Temp, but only in perl-File-Temp-0.19-1. Coincidentally (?) the very latest MailScanner also needs the very latest perl-File-Temp ... AFAIK it is not recommended to replace files from the Perl core package.
Kai
This has been a sore spot with some rpm distros. Perl should be packaged as a core, and all other modules should be just that, modules. The trouble would be who will define what is the core of perl, and what is modular. Some times you can only solve these with a rpm --force, rpm --nodeps, or CPAN. And none of these options are optimal.
On Sat, Dec 08, 2007, Steven Vishoot wrote:
Hello All,
I have an off topic question about rsync and was wondering if i can get some kind person help with it. I have two servers with each server have three same directories on them /dir1/ /dir2/ /dir3/ . How would i achieve this by using rsync? I have tried rsync -avrt --delete server_ip:/dir1/ /dir2/ /dir3/ /dir1/ /dir2/ /dir3/ this does not do anything except give errors.
I usually set up an rsync module on the remote system allowing writes, and restricting access to the IP address of the machine initiating the backups. Say this is backups_upd. Then I'll do something like:
cd / for dir in dir*; do rsync --delete -axr $dir destmachine::backups_upd/$dir done
The section of the rsyncd.conf file might look like this:
[backups_upd] list = no uid = root gid = root read only = false use chroot = false path = /backups comment = /backups hosts allow = 192.168.0.0/16 hosts deny = *
Bill -- INTERNET: bill@celestial.com Bill Campbell; Celestial Software LLC URL: http://www.celestial.com/ PO Box 820; 6641 E. Mercer Way FAX: (206) 232-9186 Mercer Island, WA 98040-0820; (206) 236-1676
It is practically impossible to teach good programming style to students that have had prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration. -- Dijkstra