I have a simple download script and I use set -x which works great; I can see each step it performs, and I can identify errors in the script or in the download:
#!/bin/bash set -x #short_date=$(/bin/date +%m%d%y) short_date=$(/bin/date -d "8 day ago" +%m%d%y) #long_date=$(/bin/date +%Y%m%d) long_date=$(/bin/date -d "8 day ago" +%Y%m%d) scp -v -P 1332 -i /home/casper/.ssh/id_rsa_BANK [email protected]:/home/friendly/transfer/out/EXCHANGE_$short_date.csv /local/casper3/dailymetrics/BANK_$long_date.csv I would like to automate this job. Is there a way I could save the set -x output to a log file? Maybe to one log file - or a different log file for each day. I don't know what would work best.
Below is sample set -x output from the above script.
++ /bin/date +%m%d%y + short_date=102814 ++ /bin/date +%Y%m%d + long_date=20141028 + scp -v -P 1332 -i /home/casper/.ssh/id_rsa_BANK [email protected]:/home/friendly/transfer/out/EXCHANGE_102814.csv /local/casper3/dailymetrics/BANK_20141028.csv Executing: program /usr/bin/ssh host 192.168.1.10, user friendly, command scp -v -f /home/friendly/transfer/out/EXCHANGE_102814.csv OpenSSH_5.3p1, OpenSSL 1.0.0-fips 29 Mar 2010 debug1: Reading configuration data /home/casper/.ssh/config debug1: Reading configuration data /etc/ssh/ssh_config debug1: Applying options for * debug1: Connecting to 192.168.1.10 [192.168.1.10] port 7777. debug1: Connection established.
PS4=':$BASH_SOURCE:$LINENO+'to log the file and line for each command.