0

I have this small script which basically do rsync of files between to remote server. ssh key has been generated for authentication.

only this is present in the script

rsync /root/Desktop/cpfies/files/*.xls user@host:root/Desktop/cpfies/moved 

basically what I want to create is a log method for this script not to fancy or anything ...only this... if the connection is lost and the file is not sent it comes in my log saying "File not sent connection not established"

also if the files has been sent it shows me in the logs successfully sent.

or if the host or the user is wrong it show in my log.

Thanks and Regards, Sagar Mandal

1
  • Is the normal output of rsync okay? Then you can just redirect it (including stderr) to your logfile.
    – pLumo
    CommentedApr 9, 2020 at 5:57

1 Answer 1

0

If you want to log only unsuccessful attempts, you can get rsync return value by looking into $?, which is the return value of the last script. rsync returns 0 on success and non zero on different errors (https://lxadm.com/Rsync_exit_codes). I would to it in that way:

#!/bin/bash ret_text=$({rsync /root/Desktop/cpfies/files/*.xls user@host:root/Desktop/cpfies/moved} 2>&1) if [ $? -ne 0 ]; then echo rsync error code $? on $(date) echo rsync output follows echo $ret_text fi 

You can put that into a script and when you run it, redirect its output into a log file like that script >> log_file, or you can just call script and add >> log_file after each echo command in the script.

If you want to log also successful attempts than you do

rsync /root/Desktop/cpfies/files/*.xls user@host:root/Desktop/cpfies/moved &>> log_file 

or

rsync --log-file=log_file /root/Desktop/cpfies/files/*.xls user@host:root/Desktop/cpfies/moved 

I would also suggest to increase the amount of information that rsync produces by adding -v or -vv. It is also possible to use -vvv or even more, but manual says it is for debugging purposes.

1
  • Thank you so much I'll try this and will let you know :-)
    – user404480
    CommentedApr 10, 2020 at 6:07

You must log in to answer this question.