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


Автор Тема: Скрипт для резервного копирования, нужна помощь  (Прочитано 748 раз)

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

Оффлайн MonoLife

  • Автор темы
  • Активист
  • *
  • Сообщений: 356
  • "Пилите, Шура, пилите!" ©
    • Просмотр профиля
    • Under sky of Half-Life
есть скрипт
алгоритм:
1. Монтирую диск
2. Архивирую и копирую на него файлы
3. Затем, копирую их на ftp подобным скриптом:
FILE=`my_file`
HOST='ftp.server'
USER='login'
PASSWD='pass'
ftp -n $HOST <<END_SCRIPT
quote USER $USER
quote PASS $PASSWD
passive
put $FILE
quit
END_SCRIPT
4. Демонтирую диск.
В п.4 затык, очевидно, копирование еще не завершено, демонтировать диск невозможно.
Как поступить? Спасибо.

Оффлайн ALiEN175

  • Модератор форума
  • Старожил
  • *
  • Сообщений: 4316
  • Capture the truth
    • Просмотр профиля
есть скрипт
алгоритм:
Не надо алгоритм, показывайте как есть.

демонтировать диск невозможно
Что пишет-то? Скопируйте и покажите полностью вывод ошибки.

ASUS P5K-C :: Intel Xeon E5450 :: 8 GB RAM :: Nvidia 8500GT :: XFCE
SAMSUNG N150 :: Intel Atom N450 :: 2 GB RAM :: Intel GMA3150 :: XFCE

Оффлайн MonoLife

  • Автор темы
  • Активист
  • *
  • Сообщений: 356
  • "Пилите, Шура, пилите!" ©
    • Просмотр профиля
    • Under sky of Half-Life
сорри, всего скрипта сейчас нет с собой. Да и смысл весь скрипт? Там до размонтирования всё в порядке - архивы создаются и копируются куда надо. Ошибку дословно, к сожалению, сейчас не могу привести, речь идет о занятости диска процессом и ссылка на lsof..  думаю нужно как-то дождаться окончания копирования на фтп, затем демонтировать диск.

Оффлайн ALiEN175

  • Модератор форума
  • Старожил
  • *
  • Сообщений: 4316
  • Capture the truth
    • Просмотр профиля
То есть: копируем на смонтированный диск, а потом из него на фтп? Не проще сразу из источника на диск и фтп? Показывайте всё, а то гадать можно до бесконечности...

Да и смысл весь скрипт?
Смысл, что сейчас вы описываете очень странную реализацию.
Ну попробуйте sync && sleep 5 перед отмонтированием...
« Последнее редактирование: 01 Август 2017, 14:02:18 от ALiEN175 »
ASUS P5K-C :: Intel Xeon E5450 :: 8 GB RAM :: Nvidia 8500GT :: XFCE
SAMSUNG N150 :: Intel Atom N450 :: 2 GB RAM :: Intel GMA3150 :: XFCE

Оффлайн MonoLife

  • Автор темы
  • Активист
  • *
  • Сообщений: 356
  • "Пилите, Шура, пилите!" ©
    • Просмотр профиля
    • Under sky of Half-Life
ALiEN175, спасибо за ответ.
Цитировать
Не проще сразу из источника на диск и фтп
Это как это?!
обобщенно, у меня реализация. типа tar -czf /смонтированный диск/files.tar.gz /sourcefile
Пользователь добавил сообщение 01 Август 2017, 15:10:40:
Цитировать
Не проще сразу из источника на диск и фтп
Эта реализация меня очень интересует.
Вопрос такой: приведенный кусок скрипта по копированию на ФТП - это должно отработать, или управление программой идет сразу дальше на umount? Короче, я тупанул, однако.. Жаль что скрипта нет под рукой, но вспомнил, что в моем коде копирования есть строка cd /примонитрованный диск. То есть, если я "уйду" из этого каталога, например, командой просто cd, диск осовбодтися..
« Последнее редактирование: 01 Август 2017, 15:11:21 от MonoLife »

Оффлайн ALiEN175

  • Модератор форума
  • Старожил
  • *
  • Сообщений: 4316
  • Capture the truth
    • Просмотр профиля
Пока находитесь в каталоге примонтированного диска, конечно же, будет ошибка отмонтирования.
ASUS P5K-C :: Intel Xeon E5450 :: 8 GB RAM :: Nvidia 8500GT :: XFCE
SAMSUNG N150 :: Intel Atom N450 :: 2 GB RAM :: Intel GMA3150 :: XFCE

Оффлайн MonoLife

  • Автор темы
  • Активист
  • *
  • Сообщений: 356
  • "Пилите, Шура, пилите!" ©
    • Просмотр профиля
    • Under sky of Half-Life
Да, действительно так и получилось! И всё же, как можно сразу из источника на диск и фтп?
Сейчас у меня так:
#!/bin/bash
sourcefile=/home/base/file1
destfile=/mnt/backups/file1.tar.gz
FTPD="/backup_base"
FTPU="user"
FTPP="password"
FTPS="myftphost"
FTP="$(which ftp)"
mount /dev/sda2 /mnt
tar -czf $destfile $sourcefile
cd /mnt/backups
$FTP -n $FTPS <<END_SCRIPT
quote USER $FTPU
quote PASS $FTPP
cd $FTPD
mput ${BACKUP[$d]}
quit
END_SCRIPT
cd
umount /dev/sda2
exit 0

Оффлайн ALiEN175

  • Модератор форума
  • Старожил
  • *
  • Сообщений: 4316
  • Capture the truth
    • Просмотр профиля
как можно сразу из источника на диск и фтп?
моя ошибка, немножко не так выразился: подразумевал, что вы сначала на диск копируете, и только потом с него на фтп отравляете...
ASUS P5K-C :: Intel Xeon E5450 :: 8 GB RAM :: Nvidia 8500GT :: XFCE
SAMSUNG N150 :: Intel Atom N450 :: 2 GB RAM :: Intel GMA3150 :: XFCE

Оффлайн MonoLife

  • Автор темы
  • Активист
  • *
  • Сообщений: 356
  • "Пилите, Шура, пилите!" ©
    • Просмотр профиля
    • Under sky of Half-Life
почти так, только я создаю архивы на подключаемом диске, а затем с него копирую эти архивы на фтп.

Оффлайн ALiEN175

  • Модератор форума
  • Старожил
  • *
  • Сообщений: 4316
  • Capture the truth
    • Просмотр профиля
можно и сразу, кстати...

Код: Text
  1. tar -cz sourcefile | tee diskfile | curl -T - ftp://user:pass@ftpserver:port/ftpfile
ASUS P5K-C :: Intel Xeon E5450 :: 8 GB RAM :: Nvidia 8500GT :: XFCE
SAMSUNG N150 :: Intel Atom N450 :: 2 GB RAM :: Intel GMA3150 :: XFCE

Оффлайн MonoLife

  • Автор темы
  • Активист
  • *
  • Сообщений: 356
  • "Пилите, Шура, пилите!" ©
    • Просмотр профиля
    • Under sky of Half-Life
Спасибо, надо попробовать..

 

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