Parece que o que você deseja fazer é escolher três arquivos com base em uma string de data e scp
em outro local. Isso pode ser feito com
#!/bin/sh
thedate="$1"
scp "/nrtrdepath/AuditReport_SL_nrtrde_$thedate.csv" \
"/dcs/SL_AUDIT_REPORT/AuditReport_SL_ICT_$thedate.csv.gz" \
"/dcs/SL_AUDIT_REPORT/AuditReport_SL_BI_$thedate.csv.gz" \
[email protected]:/tmp/SL_Audit_Report/
Você executaria isso com
$ sh ./script "datestring"
onde datestring
é a string que você deseja usar como data no nome do arquivo.
Isso funciona porque scp
pode copiar vários arquivos para um único local, assim como cp
.
Com alguma verificação de erros:
#!/bin/sh
thedate="$1"
if [ ! -f "/nrtrdepath/AuditReport_SL_nrtrde_$thedate.csv" ]; then
printf 'AuditReport_SL_nrtrde_%s.csv is missing\n' "$thedate" >&2
do_exit=1
fi
if [ ! -f "/dcs/SL_AUDIT_REPORT/AuditReport_SL_ICT_$thedate.csv.gz" ]; then
printf 'AuditReport_SL_ICT_%s.csv is missing\n' "$thedate" >&2
do_exit=1
fi
if [ ! -f "/dcs/SL_AUDIT_REPORT/AuditReport_SL_BI_$thedate.csv.gz" ]; then
printf 'AuditReport_SL_BI_%s.csv is missing\n' "$thedate" >&2
do_exit=1
fi
if [ "$do_exit" -eq 1 ]; then
echo 'Some files are missing, exiting' >&2
exit 1
fi
if ! scp "/nrtrdepath/AuditReport_SL_nrtrde_$thedate.csv" \
"/dcs/SL_AUDIT_REPORT/AuditReport_SL_ICT_$thedate.csv.gz" \
"/dcs/SL_AUDIT_REPORT/AuditReport_SL_BI_$thedate.csv.gz" \
[email protected]:/tmp/SL_Audit_Report/
then
echo 'Errors executing scp' >&2
else
echo 'Transfer is done.'
fi