Zdravím linuxáky,
pokouším se sepsat můj první skript a to pro zálohování systému a následné podání reportu o úspěšnosti emailem.
Když script spustím manuálně, vše funguje, vytvoří se záloha o velikosti 1gb a přijde email s ohlášením úspěchu.
Pokud tento script nechám vykonat CRONem, pak nepřijde nic a navíc záloha skončí asi na 600MB. Přepodkládám že to skončí nějakou chybou čtení souborů. Včera jsem při testování zahlédl chybu v poslední podmínce "unexpected then". Nebo něco takového. Přitom manuálně spuštěný funguje dobře

. Napadá vás, zkušenější, něco očividného, co jsem přehlédl?
#!/bin/sh
report_prijemce="****@*****.com"
day=$(date '+%d')
month=$(date '+%m')
year=$(date '+%Y')
BKDIR="/media/sdf/_Zalohy/CML/$year/$month/$day"
BKFILE="$year"_"$month"_"$day"".tar.gz"
RPFILE="/home/honza/zalohy/report.txt"
ZALOHOVANA_SLOZKA="/"
# vytvoreni souboru reportu
if [ ! -f "$RPFILE" ]; then
touch $RPFILE
else
cat /dev/null > $RPFILE
fi
# Doplneni hlavičky emailu
printf 'To: ****@******.com \n' > $RPFILE
printf 'From: CML zaloha <****@****.com> \n' >> $RPFILE
printf 'Subject: Zaloha systemu report \n' >> $RPFILE
if [ ! -d '$BKDIR' ]; then
mkdir -p $BKDIR
fi
printf "Soubor zalohy: $BKFILE \n" >> $RPFILE
# Vytvoření samotné zálohy - proces TAR
tar cvpzf "$BKDIR"/"$BKFILE" --one-file-system --ignore-failed-read --sparse --exclude=/proc "$ZALOHOVANA_SLOZKA"
# pokracovani reportu
if [ -f $BKDIR'/'$BKFILE ]
then
printf 'Soubor zálohy ('$BKFILE') byl vytvořen v pořádku! \n' >> $RPFILE
else
printf 'CHYBA při vytváření zálohy!!!\n \n Soubor zálohy '$BKFILE' ve složce '$BKDIR' neexistuje! \n' >> $RPFILE
fi
# odeslani reportu
ssmtp -t < $RPFILE