rsync insidious failure

The name of the pictureThe name of the pictureThe name of the pictureClash Royale CLAN TAG#URR8PPP











up vote
1
down vote

favorite












I'm trying to use rsync to make a remote dir identical to my local version,
so I do something like (with the "my" stuff below suitably replaced)



rsync -avhe 'ssh -p 7822' --progress --delete 
/mylocaldir myusername@myremotehost:~/myremotedir`


The output of the command indicates warnings but no error message :



perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LC_NUMERIC = "c",
LANG = "fr_FR.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
building file list ...
70 files to consider
Online/index.html
582 100% 0.00kB/s 0:00:00 (xfer#1, to-check=67/70)

sent 2.28K bytes received 48 bytes 665.71 bytes/sec
total size is 919.11K speedup is 394.47


But when I check on the remote dir, nothing has been updated. I tried it several times.
What is happening here ?
Any help appreciated.



Update, in answer to the first comment below : here is the content of my /etc/profile file :



# System-wide .profile for sh(1)

if [ -x /usr/libexec/path_helper ]; then
eval `/usr/libexec/path_helper -s`
fi

if [ "$BASH-no" != "no" ]; then
[ -r /etc/bashrc ] && . /etc/bashrc
fi









share|improve this question



















  • 1




    You have commands in your /etc/profile (or whatever) that produce output when run in non-interactive shells. This breaks the rsync protocol. Basically you need to identify those commands, and run them only when $- contains i.
    – Satō Katsura
    Sep 25 '17 at 8:36










  • @SatōKatsura When i do echo $-, I get himBH, so my $- does contain i.
    – Ewan Delanoy
    Sep 25 '17 at 8:44










  • Your $- does contain i in interactive shells. This doesn't happen when the (remote) shell is run from rsync.
    – Satō Katsura
    Sep 25 '17 at 8:45










  • @SatōKatsura So, in your above comment you meant the remote /etc/profile , not the local one ?
    – Ewan Delanoy
    Sep 25 '17 at 8:50










  • I'm referring to something in the startup sequence of your remote shell. That might be /etc/profile or some other config file.
    – Satō Katsura
    Sep 25 '17 at 8:54














up vote
1
down vote

favorite












I'm trying to use rsync to make a remote dir identical to my local version,
so I do something like (with the "my" stuff below suitably replaced)



rsync -avhe 'ssh -p 7822' --progress --delete 
/mylocaldir myusername@myremotehost:~/myremotedir`


The output of the command indicates warnings but no error message :



perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LC_NUMERIC = "c",
LANG = "fr_FR.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
building file list ...
70 files to consider
Online/index.html
582 100% 0.00kB/s 0:00:00 (xfer#1, to-check=67/70)

sent 2.28K bytes received 48 bytes 665.71 bytes/sec
total size is 919.11K speedup is 394.47


But when I check on the remote dir, nothing has been updated. I tried it several times.
What is happening here ?
Any help appreciated.



Update, in answer to the first comment below : here is the content of my /etc/profile file :



# System-wide .profile for sh(1)

if [ -x /usr/libexec/path_helper ]; then
eval `/usr/libexec/path_helper -s`
fi

if [ "$BASH-no" != "no" ]; then
[ -r /etc/bashrc ] && . /etc/bashrc
fi









share|improve this question



















  • 1




    You have commands in your /etc/profile (or whatever) that produce output when run in non-interactive shells. This breaks the rsync protocol. Basically you need to identify those commands, and run them only when $- contains i.
    – Satō Katsura
    Sep 25 '17 at 8:36










  • @SatōKatsura When i do echo $-, I get himBH, so my $- does contain i.
    – Ewan Delanoy
    Sep 25 '17 at 8:44










  • Your $- does contain i in interactive shells. This doesn't happen when the (remote) shell is run from rsync.
    – Satō Katsura
    Sep 25 '17 at 8:45










  • @SatōKatsura So, in your above comment you meant the remote /etc/profile , not the local one ?
    – Ewan Delanoy
    Sep 25 '17 at 8:50










  • I'm referring to something in the startup sequence of your remote shell. That might be /etc/profile or some other config file.
    – Satō Katsura
    Sep 25 '17 at 8:54












up vote
1
down vote

favorite









up vote
1
down vote

favorite











I'm trying to use rsync to make a remote dir identical to my local version,
so I do something like (with the "my" stuff below suitably replaced)



rsync -avhe 'ssh -p 7822' --progress --delete 
/mylocaldir myusername@myremotehost:~/myremotedir`


The output of the command indicates warnings but no error message :



perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LC_NUMERIC = "c",
LANG = "fr_FR.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
building file list ...
70 files to consider
Online/index.html
582 100% 0.00kB/s 0:00:00 (xfer#1, to-check=67/70)

sent 2.28K bytes received 48 bytes 665.71 bytes/sec
total size is 919.11K speedup is 394.47


But when I check on the remote dir, nothing has been updated. I tried it several times.
What is happening here ?
Any help appreciated.



Update, in answer to the first comment below : here is the content of my /etc/profile file :



# System-wide .profile for sh(1)

if [ -x /usr/libexec/path_helper ]; then
eval `/usr/libexec/path_helper -s`
fi

if [ "$BASH-no" != "no" ]; then
[ -r /etc/bashrc ] && . /etc/bashrc
fi









share|improve this question















I'm trying to use rsync to make a remote dir identical to my local version,
so I do something like (with the "my" stuff below suitably replaced)



rsync -avhe 'ssh -p 7822' --progress --delete 
/mylocaldir myusername@myremotehost:~/myremotedir`


The output of the command indicates warnings but no error message :



perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LC_NUMERIC = "c",
LANG = "fr_FR.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
building file list ...
70 files to consider
Online/index.html
582 100% 0.00kB/s 0:00:00 (xfer#1, to-check=67/70)

sent 2.28K bytes received 48 bytes 665.71 bytes/sec
total size is 919.11K speedup is 394.47


But when I check on the remote dir, nothing has been updated. I tried it several times.
What is happening here ?
Any help appreciated.



Update, in answer to the first comment below : here is the content of my /etc/profile file :



# System-wide .profile for sh(1)

if [ -x /usr/libexec/path_helper ]; then
eval `/usr/libexec/path_helper -s`
fi

if [ "$BASH-no" != "no" ]; then
[ -r /etc/bashrc ] && . /etc/bashrc
fi






rsync






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Sep 25 '17 at 9:05









Kusalananda

106k14209327




106k14209327










asked Sep 25 '17 at 8:31









Ewan Delanoy

1527




1527







  • 1




    You have commands in your /etc/profile (or whatever) that produce output when run in non-interactive shells. This breaks the rsync protocol. Basically you need to identify those commands, and run them only when $- contains i.
    – Satō Katsura
    Sep 25 '17 at 8:36










  • @SatōKatsura When i do echo $-, I get himBH, so my $- does contain i.
    – Ewan Delanoy
    Sep 25 '17 at 8:44










  • Your $- does contain i in interactive shells. This doesn't happen when the (remote) shell is run from rsync.
    – Satō Katsura
    Sep 25 '17 at 8:45










  • @SatōKatsura So, in your above comment you meant the remote /etc/profile , not the local one ?
    – Ewan Delanoy
    Sep 25 '17 at 8:50










  • I'm referring to something in the startup sequence of your remote shell. That might be /etc/profile or some other config file.
    – Satō Katsura
    Sep 25 '17 at 8:54












  • 1




    You have commands in your /etc/profile (or whatever) that produce output when run in non-interactive shells. This breaks the rsync protocol. Basically you need to identify those commands, and run them only when $- contains i.
    – Satō Katsura
    Sep 25 '17 at 8:36










  • @SatōKatsura When i do echo $-, I get himBH, so my $- does contain i.
    – Ewan Delanoy
    Sep 25 '17 at 8:44










  • Your $- does contain i in interactive shells. This doesn't happen when the (remote) shell is run from rsync.
    – Satō Katsura
    Sep 25 '17 at 8:45










  • @SatōKatsura So, in your above comment you meant the remote /etc/profile , not the local one ?
    – Ewan Delanoy
    Sep 25 '17 at 8:50










  • I'm referring to something in the startup sequence of your remote shell. That might be /etc/profile or some other config file.
    – Satō Katsura
    Sep 25 '17 at 8:54







1




1




You have commands in your /etc/profile (or whatever) that produce output when run in non-interactive shells. This breaks the rsync protocol. Basically you need to identify those commands, and run them only when $- contains i.
– Satō Katsura
Sep 25 '17 at 8:36




You have commands in your /etc/profile (or whatever) that produce output when run in non-interactive shells. This breaks the rsync protocol. Basically you need to identify those commands, and run them only when $- contains i.
– Satō Katsura
Sep 25 '17 at 8:36












@SatōKatsura When i do echo $-, I get himBH, so my $- does contain i.
– Ewan Delanoy
Sep 25 '17 at 8:44




@SatōKatsura When i do echo $-, I get himBH, so my $- does contain i.
– Ewan Delanoy
Sep 25 '17 at 8:44












Your $- does contain i in interactive shells. This doesn't happen when the (remote) shell is run from rsync.
– Satō Katsura
Sep 25 '17 at 8:45




Your $- does contain i in interactive shells. This doesn't happen when the (remote) shell is run from rsync.
– Satō Katsura
Sep 25 '17 at 8:45












@SatōKatsura So, in your above comment you meant the remote /etc/profile , not the local one ?
– Ewan Delanoy
Sep 25 '17 at 8:50




@SatōKatsura So, in your above comment you meant the remote /etc/profile , not the local one ?
– Ewan Delanoy
Sep 25 '17 at 8:50












I'm referring to something in the startup sequence of your remote shell. That might be /etc/profile or some other config file.
– Satō Katsura
Sep 25 '17 at 8:54




I'm referring to something in the startup sequence of your remote shell. That might be /etc/profile or some other config file.
– Satō Katsura
Sep 25 '17 at 8:54










1 Answer
1






active

oldest

votes

















up vote
2
down vote



accepted










rsync is running, so the locale error message is not critical. Instead, I suspect that your two directory definitions are not quite what you want, and you may be looking in the wrong place for the files.



You have a source /mylocaldir and a destination ~/myremotedir. This will create ~/myremotedir/mylocaldir on the target, and that's where the files will be placed.



If you want the contents of /mylocaldir to be copied to ~/myremotedir you need to provide a trailing / on the source directory, like this:



rsync -avh -e 'ssh -p 7822' --progress --delete 
/mylocaldir/ myusername@myremotehost:myremotedir


NB I've split the command over two lines for readability. As written it's valid shell syntax, but remove the character on the end of the first line and join them together if you prefer.




The perl error message about locales will be coming from some program that's executed as part of your login process. It might be path_helper, which seems to be a MacOS application so I can't advise you on the importance or otherwise of commenting it out, or it could be something in /etc/bashrc.



Rather than trying to identify the offending application, another option, of course, is to install the French locale files on your target system, so that the error is no longer triggered.






share|improve this answer






















  • Many thanks! Each and every one of your guesses is absolutely right (but you already knew that, didn't you ? :-) ), and now I added the missing slash it's working fine. Could you please elaborate just a little on how to install locale files on my Mac ?
    – Ewan Delanoy
    Sep 25 '17 at 9:13










  • Ah ... Judging from several answers here on MSE, such as stackoverflow.com/questions/7165108/… and stackoverflow.com/questions/9991603/add-a-locale-in-mac-osx, this is not a simple problem. I'll ask it as a separate question
    – Ewan Delanoy
    Sep 25 '17 at 9:18











Your Answer







StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "106"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);

else
createEditor();

);

function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
convertImagesToLinks: false,
noModals: false,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);



);













 

draft saved


draft discarded


















StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f394277%2frsync-insidious-failure%23new-answer', 'question_page');

);

Post as a guest






























1 Answer
1






active

oldest

votes








1 Answer
1






active

oldest

votes









active

oldest

votes






active

oldest

votes








up vote
2
down vote



accepted










rsync is running, so the locale error message is not critical. Instead, I suspect that your two directory definitions are not quite what you want, and you may be looking in the wrong place for the files.



You have a source /mylocaldir and a destination ~/myremotedir. This will create ~/myremotedir/mylocaldir on the target, and that's where the files will be placed.



If you want the contents of /mylocaldir to be copied to ~/myremotedir you need to provide a trailing / on the source directory, like this:



rsync -avh -e 'ssh -p 7822' --progress --delete 
/mylocaldir/ myusername@myremotehost:myremotedir


NB I've split the command over two lines for readability. As written it's valid shell syntax, but remove the character on the end of the first line and join them together if you prefer.




The perl error message about locales will be coming from some program that's executed as part of your login process. It might be path_helper, which seems to be a MacOS application so I can't advise you on the importance or otherwise of commenting it out, or it could be something in /etc/bashrc.



Rather than trying to identify the offending application, another option, of course, is to install the French locale files on your target system, so that the error is no longer triggered.






share|improve this answer






















  • Many thanks! Each and every one of your guesses is absolutely right (but you already knew that, didn't you ? :-) ), and now I added the missing slash it's working fine. Could you please elaborate just a little on how to install locale files on my Mac ?
    – Ewan Delanoy
    Sep 25 '17 at 9:13










  • Ah ... Judging from several answers here on MSE, such as stackoverflow.com/questions/7165108/… and stackoverflow.com/questions/9991603/add-a-locale-in-mac-osx, this is not a simple problem. I'll ask it as a separate question
    – Ewan Delanoy
    Sep 25 '17 at 9:18















up vote
2
down vote



accepted










rsync is running, so the locale error message is not critical. Instead, I suspect that your two directory definitions are not quite what you want, and you may be looking in the wrong place for the files.



You have a source /mylocaldir and a destination ~/myremotedir. This will create ~/myremotedir/mylocaldir on the target, and that's where the files will be placed.



If you want the contents of /mylocaldir to be copied to ~/myremotedir you need to provide a trailing / on the source directory, like this:



rsync -avh -e 'ssh -p 7822' --progress --delete 
/mylocaldir/ myusername@myremotehost:myremotedir


NB I've split the command over two lines for readability. As written it's valid shell syntax, but remove the character on the end of the first line and join them together if you prefer.




The perl error message about locales will be coming from some program that's executed as part of your login process. It might be path_helper, which seems to be a MacOS application so I can't advise you on the importance or otherwise of commenting it out, or it could be something in /etc/bashrc.



Rather than trying to identify the offending application, another option, of course, is to install the French locale files on your target system, so that the error is no longer triggered.






share|improve this answer






















  • Many thanks! Each and every one of your guesses is absolutely right (but you already knew that, didn't you ? :-) ), and now I added the missing slash it's working fine. Could you please elaborate just a little on how to install locale files on my Mac ?
    – Ewan Delanoy
    Sep 25 '17 at 9:13










  • Ah ... Judging from several answers here on MSE, such as stackoverflow.com/questions/7165108/… and stackoverflow.com/questions/9991603/add-a-locale-in-mac-osx, this is not a simple problem. I'll ask it as a separate question
    – Ewan Delanoy
    Sep 25 '17 at 9:18













up vote
2
down vote



accepted







up vote
2
down vote



accepted






rsync is running, so the locale error message is not critical. Instead, I suspect that your two directory definitions are not quite what you want, and you may be looking in the wrong place for the files.



You have a source /mylocaldir and a destination ~/myremotedir. This will create ~/myremotedir/mylocaldir on the target, and that's where the files will be placed.



If you want the contents of /mylocaldir to be copied to ~/myremotedir you need to provide a trailing / on the source directory, like this:



rsync -avh -e 'ssh -p 7822' --progress --delete 
/mylocaldir/ myusername@myremotehost:myremotedir


NB I've split the command over two lines for readability. As written it's valid shell syntax, but remove the character on the end of the first line and join them together if you prefer.




The perl error message about locales will be coming from some program that's executed as part of your login process. It might be path_helper, which seems to be a MacOS application so I can't advise you on the importance or otherwise of commenting it out, or it could be something in /etc/bashrc.



Rather than trying to identify the offending application, another option, of course, is to install the French locale files on your target system, so that the error is no longer triggered.






share|improve this answer














rsync is running, so the locale error message is not critical. Instead, I suspect that your two directory definitions are not quite what you want, and you may be looking in the wrong place for the files.



You have a source /mylocaldir and a destination ~/myremotedir. This will create ~/myremotedir/mylocaldir on the target, and that's where the files will be placed.



If you want the contents of /mylocaldir to be copied to ~/myremotedir you need to provide a trailing / on the source directory, like this:



rsync -avh -e 'ssh -p 7822' --progress --delete 
/mylocaldir/ myusername@myremotehost:myremotedir


NB I've split the command over two lines for readability. As written it's valid shell syntax, but remove the character on the end of the first line and join them together if you prefer.




The perl error message about locales will be coming from some program that's executed as part of your login process. It might be path_helper, which seems to be a MacOS application so I can't advise you on the importance or otherwise of commenting it out, or it could be something in /etc/bashrc.



Rather than trying to identify the offending application, another option, of course, is to install the French locale files on your target system, so that the error is no longer triggered.







share|improve this answer














share|improve this answer



share|improve this answer








edited Sep 25 '17 at 9:07

























answered Sep 25 '17 at 9:02









roaima

40.2k547110




40.2k547110











  • Many thanks! Each and every one of your guesses is absolutely right (but you already knew that, didn't you ? :-) ), and now I added the missing slash it's working fine. Could you please elaborate just a little on how to install locale files on my Mac ?
    – Ewan Delanoy
    Sep 25 '17 at 9:13










  • Ah ... Judging from several answers here on MSE, such as stackoverflow.com/questions/7165108/… and stackoverflow.com/questions/9991603/add-a-locale-in-mac-osx, this is not a simple problem. I'll ask it as a separate question
    – Ewan Delanoy
    Sep 25 '17 at 9:18

















  • Many thanks! Each and every one of your guesses is absolutely right (but you already knew that, didn't you ? :-) ), and now I added the missing slash it's working fine. Could you please elaborate just a little on how to install locale files on my Mac ?
    – Ewan Delanoy
    Sep 25 '17 at 9:13










  • Ah ... Judging from several answers here on MSE, such as stackoverflow.com/questions/7165108/… and stackoverflow.com/questions/9991603/add-a-locale-in-mac-osx, this is not a simple problem. I'll ask it as a separate question
    – Ewan Delanoy
    Sep 25 '17 at 9:18
















Many thanks! Each and every one of your guesses is absolutely right (but you already knew that, didn't you ? :-) ), and now I added the missing slash it's working fine. Could you please elaborate just a little on how to install locale files on my Mac ?
– Ewan Delanoy
Sep 25 '17 at 9:13




Many thanks! Each and every one of your guesses is absolutely right (but you already knew that, didn't you ? :-) ), and now I added the missing slash it's working fine. Could you please elaborate just a little on how to install locale files on my Mac ?
– Ewan Delanoy
Sep 25 '17 at 9:13












Ah ... Judging from several answers here on MSE, such as stackoverflow.com/questions/7165108/… and stackoverflow.com/questions/9991603/add-a-locale-in-mac-osx, this is not a simple problem. I'll ask it as a separate question
– Ewan Delanoy
Sep 25 '17 at 9:18





Ah ... Judging from several answers here on MSE, such as stackoverflow.com/questions/7165108/… and stackoverflow.com/questions/9991603/add-a-locale-in-mac-osx, this is not a simple problem. I'll ask it as a separate question
– Ewan Delanoy
Sep 25 '17 at 9:18


















 

draft saved


draft discarded















































 


draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f394277%2frsync-insidious-failure%23new-answer', 'question_page');

);

Post as a guest













































































Popular posts from this blog

How to check contact read email or not when send email to Individual?

Displaying single band from multi-band raster using QGIS

How many registers does an x86_64 CPU actually have?