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 продолжает свою работу, как и , Удачи.
Автор: Э_L_A_Y
Страниц: 1 2
Оставить комментарий или два