echo "[--------------------------------[`date +%Y-%m-%d`]--------------------------------]" >> /opt/backup/backup.log
echo "[----------][`date +%Y-%m-%d`] Run the backup script..." >> /opt/backup/backup.log
mkdir $backupdir/$dir 2> /dev/null 
echo "[----------] Go to a directory with the backup..." >> /opt/backup/backup.log
cd $backupdir/$dir 2> /dev/null 
if [[ $? -gt 0 ]];then echo "[----------] Aborted. Not possible Go to a directory ." >> /opt/backup/backup.log 
exit 1 
fi 
echo "[----------] Successfully passed the directory with the backup..." >> /opt/backup/backup.log
echo "[----------] Downloading files..." >> /opt/backup/backup.log
lftp -f $backupdir/ftp_connect > /dev/null 2>&1  
if [[ $? -gt 0 ]];then echo "[----------] Aborted. Not possible Downloading files ." >> /opt/backup/backup.log 
exit 1 
fi
echo "[----------] Successfully Downloading files..." >> /opt/backup/backup.log
echo "[----------] Archiving the downloaded files..." >> /opt/backup/backup.log
tar -zcf $backupdir/`date +%u`.tar.gz $backupdir/$dir 2> /dev/null 
if [[ $? -gt 0 ]];then 
echo "[----------] Aborted. Not possible to create an archive ." >> /opt/backup/backup.log
exit 1 
fi 
echo "[----------] Successfully Archiving the downloaded files..." >> /opt/backup/backup.log
echo "[----------] Delete the temporary folder..." >> /opt/backup/backup.log
cd $backupdir 
rm -rf $backupdir/$dir 2> /dev/null 
if [[ $? -gt 0 ]];then 
echo "[----------] Aborted. Not possible Delete the temporary folder ." >> /opt/backup/backup.log
exit 1 
fi 
echo "[+++++++++-][`date +%Y-%m-%d`] Free HDD space: `df -h $backupdir | tail -n1 | awk '{print $4}'`" >> /opt/backup/backup.log
echo "[++++++++++][`date +%Y-%m-%d`] All operations completed successfully!" >> /opt/backup/backup.log
exit 0

Сохраняем скрипт и делаем его исполняемым:

# chmod +x /opt/backup/script.sh

Теперь скрипт нужно закинуть в задания cron, в зависимости от частоты обновления блога. Например так:

# cp /opt/backup/script.sh /opt/etc/cron.daily/script.sh

Если вы настраивали роутер по мануалам из вышеприведенного форума, где предлагается для удобства создать папки для скриптов запускаемых cron и настроить сам cron для обработки этих папок, то делаете так как я написал выше. Если вы этого не сделали, то просто добавьте задание в crontab файл. По поводу crontab – убедитесь, сто в строке, где прописаны пути для PATH, указан путь /opt/bin. Если исполнение скрипта назначить на каждый день, то ротация архивов с резервной копией будет осуществляется за счет того, что ежедневно будут создаваться архивы с номером текущего дня недели, а каждую следующую неделю архивы будут перезаписываться.

На этом, все! Все предложения по улучшению поставленной задачи приветствуются. Блог bruteforcer.ru продолжает свою работу, как и подписка по RSS, Удачи.

Автор: Э_L_A_Y