Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Скрипт для бэкапа tar`ом  (Прочитано 8001 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Kykkyryzzo

  • Автор темы
  • Новичок
  • *
  • Сообщений: 45
    • Просмотр профиля
Скрипт для бэкапа tar`ом
« : 26 Августа 2010, 17:34:23 »
Добрый.

Где-то видел тему, но сейчас не могу найти  :-[

Ubuntu server 10.04
Делаю бэкап tar`ом каждый день настроив крон.
#!/bin/bash
sudo tar cvpzf / и т.д.
Т.е. создается бэкапный файл, который на следующий день затирается новым бэкапом.
Хотелось бы скрипт, который делает допустим 10 копий и только потом начинает затирать с 1 по 10.

Спасибо!

Оффлайн dieselist

  • Активист
  • *
  • Сообщений: 525
    • Просмотр профиля
    • diesel.pp.ua
Re: Скрипт для бэкапа tar`ом
« Ответ #1 : 26 Августа 2010, 17:39:22 »
#!/bin/bash
cd /backups
sudo tar cvpzf backup_`date +%Y.%m.%d_%H_%M`.tar.gz /
find . -mtime +10 -exec rm {} \;
как-то так :)
« Последнее редактирование: 27 Августа 2010, 12:23:54 от Владимир Николаевич »
Ubuntu, Gentoo, RHEL, AIX

Оффлайн Kykkyryzzo

  • Автор темы
  • Новичок
  • *
  • Сообщений: 45
    • Просмотр профиля
Re: Скрипт для бэкапа tar`ом
« Ответ #2 : 27 Августа 2010, 09:53:24 »
#!/bin/bash
cd /backups
sudo tar cvpzf backup_`date +%Y.%m.%d_%H_%M`.tar.gz /
find . -mtime +10 -exec rm {} \;

как-то так :)

Спасибо ;)

Оффлайн zondm

  • Новичок
  • *
  • Сообщений: 27
    • Просмотр профиля
Re: Скрипт для бэкапа tar`ом
« Ответ #3 : 27 Августа 2010, 12:19:05 »
#!/bin/bash
cd /backups
sudo tar cvpzf backup_`date +%Y.%m.%d_%H_%M`.tar.gz /
find . -mtime +10 -exec rm {} \;

как-то так :)

Мне все больше нравиться этот форум, так как тут есть умный народ, вроде вас!

Оффлайн dieselist

  • Активист
  • *
  • Сообщений: 525
    • Просмотр профиля
    • diesel.pp.ua
Re: Скрипт для бэкапа tar`ом
« Ответ #4 : 27 Августа 2010, 12:27:03 »
Спасибо ;)

Пожалуйста. Только, однако, спорна сама ценность такого бекапа. Для чего тебе нужен бекап? И что у тебя с дисковым пространством? Может лучше было бы инкрементные бекапы делать (да, tar это умеет)
Ubuntu, Gentoo, RHEL, AIX

Оффлайн terrible_user

  • Активист
  • *
  • Сообщений: 438
    • Просмотр профиля
Re: Скрипт для бэкапа tar`ом
« Ответ #5 : 27 Августа 2010, 15:03:20 »
Могу предложить вот такую ужасную штуку
(Нажмите, чтобы показать/скрыть)

скрипт работает исходя из имен файлов, в директории ищет файлы отвечающие требованию {имя}{дата}{расширение} ( backup.myserver.20090101.tar.bz2), и затем удаляет устаревшие файлы, т.е. он будет удалять все старые бекапы кроме последних N-числа свежих.
Бери больше, кидай дальше

Оффлайн Kykkyryzzo

  • Автор темы
  • Новичок
  • *
  • Сообщений: 45
    • Просмотр профиля
Re: Скрипт для бэкапа tar`ом
« Ответ #6 : 27 Августа 2010, 17:39:32 »
Спасибо ;)

Пожалуйста. Только, однако, спорна сама ценность такого бекапа. Для чего тебе нужен бекап? И что у тебя с дисковым пространством? Может лучше было бы инкрементные бекапы делать (да, tar это умеет)

Сегодня просматривал бэкапы - первые 2 почти пустые (4-5 папок )  ???
Который делал ручками - все ок :-[
Что-то со скриптом....
И еще вопрос, эти бэкапы имеют нормальный размер (смотрю через mc), это нормально?

Оффлайн dieselist

  • Активист
  • *
  • Сообщений: 525
    • Просмотр профиля
    • diesel.pp.ua
Re: Скрипт для бэкапа tar`ом
« Ответ #7 : 27 Августа 2010, 17:50:34 »
Kykkyryzzo, ты для начала расскажи, что именно тебе надо.
Еще покажи что ты выполнял ручками, откуда, под кем и что у тебя в скрипте.
можешь за компанию сделать tar tzvf для тарбола и показать что именно не так, что не забекапилось (за компанию показав ls -l для файлов\директорий которые не попали в архив)
Что в твоем понимании "нормальный размер"? Сформулируй вопрос иначе, сейчас он звучит абсурдно.
Ubuntu, Gentoo, RHEL, AIX

Оффлайн Mam(O)n

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Re: Скрипт для бэкапа tar`ом
« Ответ #8 : 28 Августа 2010, 00:22:56 »
Сегодня просматривал бэкапы - первые 2 почти пустые (4-5 папок )  ???
https://forum.ubuntu.ru/index.php?topic=102961

И еще вопрос, эти бэкапы имеют нормальный размер (смотрю через mc), это нормально?
Чё?

Оффлайн truegeek

  • FPGA Designer
  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 4214
  • аЦкий схемотехник
    • Просмотр профиля
Re: Скрипт для бэкапа tar`ом
« Ответ #9 : 28 Августа 2010, 00:55:40 »
И еще вопрос, эти бэкапы имеют нормальный размер (смотрю через mc), это нормально?
когда размер у бэкапов нормальный, то это вполне нормально.

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: Скрипт для бэкапа tar`ом
« Ответ #10 : 28 Августа 2010, 00:58:33 »
Так, на всякий случай уточню, про rsync в курсе?

Оффлайн Jarmusch

  • Новичок
  • *
  • Сообщений: 17
    • Просмотр профиля
    • http://jarmush.ru
Re: Скрипт для бэкапа tar`ом
« Ответ #11 : 28 Августа 2010, 11:04:06 »
Т.е. создается бэкапный файл, который на следующий день затирается новым бэкапом.
Хотелось бы скрипт, который делает допустим 10 копий и только потом начинает затирать с 1 по 10.
Спасибо!

Вот мой cron-скрипт, который ежедневно бэкапит папку /var/www в /home/jar/backup/, замещая вчерашний бэкап сегодняшним, позавчерашний вчерашним и т.д. В итоге в папке backups имеем 7 бэкапов на каждый день прошедшей недели.

cd /home/jar/backup&&rm backup_7.tar.gz&&mv backup_6.tar.gz backup_7.tar.gz&&mv backup_5.tar.gz backup_6.tar.gz&&mv backup_4.tar.gz backup_5.tar.gz&&mv backup_3.tar.gz backup_4.tar.gz&&mv backup_2.tar.gz backup_3.tar.gz&&mv backup_latest.tar.gz backup_2.tar.gz&&tar cvpzf backup_latest.tar.gz /var/www
Перед настройкой этого скрипта однократно выполняем создание папки и архивов
mkdir backup&&cd backup&&tar cvpzf backup_7.tar.gz /var/www&&tar cvpzf backup_6.tar.gz /var/www&&tar cvpzf backup_5.tar.gz /var/www&&tar cvpzf backup_4.tar.gz /var/www&&tar cvpzf backup_3.tar.gz /var/www&&tar cvpzf backup_2.tar.gz /var/www&&tar cvpzf backup_latest.tar.gz /var/www
« Последнее редактирование: 28 Августа 2010, 11:08:14 от Jarmusch »

Оффлайн dieselist

  • Активист
  • *
  • Сообщений: 525
    • Просмотр профиля
    • diesel.pp.ua
Re: Скрипт для бэкапа tar`ом
« Ответ #12 : 30 Августа 2010, 11:36:31 »
Вот мой cron-скрипт, который ежедневно бэкапит папку /var/www в /home/jar/backup/, замещая вчерашний бэкап сегодняшним, позавчерашний вчерашним и т.д. В итоге в папке backups имеем 7 бэкапов на каждый день прошедшей недели.
cd /home/jar/backup&&rm backup_7.tar.gz&&mv backup_6.tar.gz backup_7.tar.gz&&mv backup_5.tar.gz backup_6.tar.gz&&mv backup_4.tar.gz backup_5.tar.gz&&mv backup_3.tar.gz backup_4.tar.gz&&mv backup_2.tar.gz backup_3.tar.gz&&mv backup_latest.tar.gz backup_2.tar.gz&&tar cvpzf backup_latest.tar.gz /var/www

Ну ты маньяк... А если бы надо было 100 бэкапов иметь, ты бы что делал? :D  Не проще ли было это дело через цикл организовать?
Ubuntu, Gentoo, RHEL, AIX

Оффлайн Kykkyryzzo

  • Автор темы
  • Новичок
  • *
  • Сообщений: 45
    • Просмотр профиля
Re: Скрипт для бэкапа tar`ом
« Ответ #13 : 30 Августа 2010, 11:38:49 »
Kykkyryzzo, ты для начала расскажи, что именно тебе надо.
Еще покажи что ты выполнял ручками, откуда, под кем и что у тебя в скрипте.
можешь за компанию сделать tar tzvf для тарбола и показать что именно не так, что не забекапилось (за компанию показав ls -l для файлов\директорий которые не попали в архив)
Что в твоем понимании "нормальный размер"? Сформулируй вопрос иначе, сейчас он звучит абсурдно.

Вроде все бэкапить нормально стал, но старые бэкапы не удаляет ???
#!/bin/bash
cd /backups
sudo tar cvpzf backup_`date +%Y.%m.%d_%H_%M`.tar.gz /
find . -mtime +3 -exec rm {} \;
 +3 поставил, а уже 5 бэкапов
« Последнее редактирование: 30 Августа 2010, 11:42:11 от Kykkyryzzo »

Оффлайн dieselist

  • Активист
  • *
  • Сообщений: 525
    • Просмотр профиля
    • diesel.pp.ua
Re: Скрипт для бэкапа tar`ом
« Ответ #14 : 30 Августа 2010, 11:49:19 »
Вроде все бэкапить нормально стал, но старые бэкапы не удаляет ???
find . -mtime +3 -exec rm {} \;
 +3 поставил, а уже 5 бэкапов

Я надеюсь ты прочитал сначала что значит опция mtime? Будут удаляться файлы модифицированные (в твоем случае созданные) более чем 3 суток назад. Если ты за один день нафигачишь кучу файлов - удалятся они только через указанное количество дней.
Ubuntu, Gentoo, RHEL, AIX

 

Страница сгенерирована за 0.036 секунд. Запросов: 25.