Я пытаюсь создать bash-скрипт, который запускается через crontab, чтобы выполнить резервное копирование удаленного на локальное.Все работает, кроме моей скользящей резервной части, где хранится только 4 резервных копии.
#!/bin/bash
dateForm=`date +%m-%d-%Y`
fileName=[redacted]-"$dateForm"
echo backup started for [redacted] on: $dateForm >> /home/backups/backLog.log
ls -tQ /home/backups/[redacted] | tail -n+5 | xargs -r rm
ssh root@[redacted] "tar jcf - -C /home/[redacted]/[redacted] ." > "/home/backups/[redacted]/$fileName".tar.bz2
if [ ! -f "/home/backups/[redacted]/$fileName.tar.bz2" ]
then
echo "something went wrong with the backup for $fileName!" >> /home/backups/backLog.log
else
echo "Backup completed for $fileName" >> /home/backups/backLog.log
fi
строка ls будет работать, если она выполняется в каталоге просто отлично, но поскольку crontab выполняет ее, и мне нужно, чтобы скрипт находился вне папки, для которой он предназначен.Я не могу настроить таргетинг на rm в правильном каталоге, используя канал ls