1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Помогите реализовать на баше

Тема в разделе "Оффтопик", создана пользователем eXtremeNoN, 16 апр 2015.

  1. Автор темы
    eXtremeNoN

    eXtremeNoN Старожил Пользователь Заблокирован

    Баллы:
    153
    Имя в Minecraft:
    eXtremeNoN
    Необходимо делать бекапы. Все время вручную писать надоедает. Вот и решил сделать мини-скрипт для создания бекапа папки в .tar. Но мне нужно чтобы бекапы делались каждый день, и были за каждый день. Т.е при создании бекапа, архив автоматически называется backup-dd-mm-(yy).tar. Как же можно получать дату и называть файл именно вот так?
    tar -cvf backup-(date).tar /root
     
  2. danilko

    danilko Старожил Пользователь

    Баллы:
    103
    В bash есть такие штуки, переменные называются. Явно можно через них задавать имя файла.
    Ну, а для получения даты в определенном формате, можно использовать программу date.
    Всё очень легко гуглится.
     
  3. Автор темы
    eXtremeNoN

    eXtremeNoN Старожил Пользователь Заблокирован

    Баллы:
    153
    Имя в Minecraft:
    eXtremeNoN
    Про переменные я уж точно знаю. Через них то можно, только мне не просто $i = lalala нужно, а получение даты. Попробую что-то сделать, а так спасибо за совет.
     
  4. danilko

    danilko Старожил Пользователь

    Баллы:
    103
    date +%F в нужном тебе формате (2009-12-06, с википедии)
     
  5. Plasticable

    Plasticable Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    plasticable
    Имя в Minecraft:
    Plasticable
    ...или не насиловать себе мозг и скачать готовый бекапер
     
  6. saharin94

    saharin94 Старожил Пользователь Заблокирован

    Баллы:
    173
    Код:
    tar -cvf backup-`date "+%Y-%m-%d"`.tar /root
    Весь секрет в кавычках.
     
  7. The Midnight Wizard

    The Midnight Wizard Старожил Пользователь

    Баллы:
    153
    Skype:
    you.dont.own.me
    Вот мой скрипт бекапа с заливкой на Я.Диск, вычленяй из него нужное сам:
    Код:
    #!/bin/sh
    
    # Создаем темп-папку для бекапа
    mkdir backuptemp
    cd backuptemp
    mkdir files
    echo "[!!] backuptemp создан"
    
    # Дамп mysql
    echo "[!!] Начало дампа mysql"
    mysqldump -u root -pPASSWORD -A > dump.sql
    echo "[!!] Дамп завершен"
    
    # Копирование файлов
    echo "[!!] Копирование файлов"
    cp -r /srv/* ./files/ > /dev/null
    cd ../
    cp backup.sh backuptemp/backup.sh
    
    # Архивирование
    echo "[!!] Архивирование файлов"
    7z a backup_`date '+%Y%m%d'`.7z backuptemp/* > /dev/null
    echo "[!!] Архивирование завершено"
    
    # Аплоад
    echo "[!!] Загрузка на Yandex.Диск"
    curl --upload-file backup_`date '+%Y%m%d'`.7z https://webdav.yandex.ru --user login:pass
    echo "[!!] Загрузка завершена!"
    
    rm backup_`date '+%Y%m%d'`.7z
    rm -r backuptemp
    echo "[!!] Временные файлы удалены"
    echo "[!!] Бекап завершен!"
     
  8. Автор темы
    eXtremeNoN

    eXtremeNoN Старожил Пользователь Заблокирован

    Баллы:
    153
    Имя в Minecraft:
    eXtremeNoN
    Большое спасибо.
     

Поделиться этой страницей