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


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: скрипт синхронизации файлов  (Прочитано 7472 раз)

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

Оффлайн graddata

  • Автор темы
  • PreSale
  • Администратор
  • Старожил
  • *
  • Сообщений: 1836
  • BIGCloud
    • Просмотр профиля
скрипт синхронизации файлов
« : 28 Апреля 2008, 12:27:15 »
Помогите написать скрипт так что бы действия были не из под рута.
действия след.:
скопировать из расшареной папки в сети всё содержимое - это я знаю как smbget и тд.
далее мне нужно что бы вёлся опрос изменения файла на сервере, те как что бы скрипт через условно 60сек делал опрос на изменение файла, если таково произошло то скрипт заменяет файл, скачивая новый.

И если можно, что бы выводилось окошко, типа "файл обновлён"


Рылся в программах синхронизации, не очень вышла затея. Помогите хоть советом куда рыть.

Оффлайн bad_duck

  • Участник
  • *
  • Сообщений: 109
  • Бледнолицый друг пингвинов
    • Просмотр профиля
Re: скрипт синхронизации файлов
« Ответ #1 : 28 Апреля 2008, 17:00:51 »
Написать скрипт, который единожды проверяет файлы на изменение и скачивает при необходимости, и прописать его в cron. Хотя для частых проверок это, возможно, не подойдёт.
« Последнее редактирование: 28 Апреля 2008, 17:02:52 от bad_duck »

Оффлайн polyak

  • Активист
  • *
  • Сообщений: 288
  • 726f6f745f75
    • Просмотр профиля
Re: скрипт синхронизации файлов
« Ответ #2 : 28 Апреля 2008, 17:05:50 »
rcync не помог?
примонтируй папку примерно так /etc/fstab
//adserver/userdocs /home/polyak/pdc smbfs uid=polyak,gid=polyak,fmask=664,dmask=775,username=polyak,password=,iocharset=utf8,codepage=cp866 0 0
дальше работай с ней как с локальной. либо rsync
либо сам пиши ls и cp
и скрипт в крон как верно выше сказано
или запускать в фоне это:
#!/bin/sh
# Интервал (в секундах) между проверками
CHECKTIME=60
# Организуем бесконечный цикл
while true; do
   #тут проверяем и копируем если надо
sleep ${CHECKTIME}
« Последнее редактирование: 28 Апреля 2008, 17:11:12 от polyak »
726f6f745f75

Оффлайн graddata

  • Автор темы
  • PreSale
  • Администратор
  • Старожил
  • *
  • Сообщений: 1836
  • BIGCloud
    • Просмотр профиля
Re: скрипт синхронизации файлов
« Ответ #3 : 28 Апреля 2008, 17:16:16 »
Спасибо.
Будем дальше действовать.
Ресурс мне удалось смонитровать через fstab, всё нормально смонтировлось.

Кручу unison, но вот не ясна мне комманда, что бы он с одно команды запускался и начинал удалять или изменять файлы, те делая полный образ сервера.

ТЕ, я не хочу ввожить комманды, а что бы он сам без меня всё сделал.
« Последнее редактирование: 28 Апреля 2008, 17:18:30 от pskovgrad »

Оффлайн graddata

  • Автор темы
  • PreSale
  • Администратор
  • Старожил
  • *
  • Сообщений: 1836
  • BIGCloud
    • Просмотр профиля
Re: скрипт синхронизации файлов
« Ответ #4 : 04 Мая 2008, 10:37:47 »
Помогите, хорошие люди.
Нужно написать скрипт синхронизации файлов, ПО не подходит, тк слишком много оно задаёт вопросы.

нужно

Скрипт опрашивает содержимое папки 1, и сравнивает его с 2 папкой.
Если есть изменения в 1-ой папке, то он заменяет или создаёт файлы в 2-ой папке и должен выдать какой нибудь сигнал, сообщение оконное типа "ФАЙЛ ОБНОВЛЁН".
И так нужно опрашивать через каждые 10-15 минут.

Всё должно выполнятся автоматически, те без действия пользователя и рута.

Оффлайн polyak

  • Активист
  • *
  • Сообщений: 288
  • 726f6f745f75
    • Просмотр профиля
Re: скрипт синхронизации файлов
« Ответ #5 : 04 Мая 2008, 10:50:24 »
ls со всякими параметрами выведет тебе список файлов
сравниваешь,
копируешь что надо cp
вывод всплывающего окна:
#!/bin/sh
notify-send 'Название окна' 'Текст в окне'
в чем сложности? или ты хочешь чтоб тебе написали?
726f6f745f75

Оффлайн graddata

  • Автор темы
  • PreSale
  • Администратор
  • Старожил
  • *
  • Сообщений: 1836
  • BIGCloud
    • Просмотр профиля
Re: скрипт синхронизации файлов
« Ответ #6 : 04 Мая 2008, 11:23:22 »
Сложность в том что я не знаю, как это сделать.
А точнее как это автоматизировать.

polyak, я был бы очень рад, если ты мне поможешь.

Оффлайн polyak

  • Активист
  • *
  • Сообщений: 288
  • 726f6f745f75
    • Просмотр профиля
Re: скрипт синхронизации файлов
« Ответ #7 : 04 Мая 2008, 11:47:12 »
polyak, я был бы очень рад, если ты мне поможешь.
там много букаф, но прочитать и разобраться рекомендую.
http://www.linuxcenter.ru/lib/books/shell/gl3.phtml
тут http://www.oszone.net/3718/ есть решение задачи бэкапа, но для твоих целей код нужно доработать.

можно все это написать на python - даже проще на мой взгляд. тогда тебе сюда:
http://python.ru/docs/ выбери самоучитель попроще, и при желании, думаю через 1-2 дня напишешь что тебе надо.
726f6f745f75

Оффлайн graddata

  • Автор темы
  • PreSale
  • Администратор
  • Старожил
  • *
  • Сообщений: 1836
  • BIGCloud
    • Просмотр профиля
Re: скрипт синхронизации файлов
« Ответ #8 : 04 Мая 2008, 12:52:18 »
Спасибо. Буду изучать самостоятельно.

Оффлайн graddata

  • Автор темы
  • PreSale
  • Администратор
  • Старожил
  • *
  • Сообщений: 1836
  • BIGCloud
    • Просмотр профиля
Re: скрипт синхронизации файлов
« Ответ #9 : 05 Мая 2008, 16:26:45 »
воспользовался grsync
в графике указал, что от куда и куда, и с какими параметрами. Обозвал профиль "1".
И теперь довольный синхронизирую папки командой от пользователя:
$grsync -e 1 #1 - это имя моего профиля.

Оффлайн graddata

  • Автор темы
  • PreSale
  • Администратор
  • Старожил
  • *
  • Сообщений: 1836
  • BIGCloud
    • Просмотр профиля
Re: скрипт синхронизации файлов
« Ответ #10 : 06 Мая 2008, 16:05:20 »
_________________________________
 не получается в крон вписать.
написал следующее там:
*/5 * * * * grsync -e >/dev/null 2>&1 #JOB_ID_1

Что ещё нужно сделать, что бы он работал. Перезагружался несколько раз. Побоку ему.
Может крон нужно запускать как то ещё. Как его в демон засунуть?

Оффлайн Kwah

  • Старожил
  • *
  • Сообщений: 1442
  • Ubuntu 17.10
    • Просмотр профиля
Re: скрипт синхронизации файлов
« Ответ #11 : 06 Мая 2008, 16:21:55 »
ЕМНИП, в крон нужно писать программу+абсолютный путь до неё (подсмотреть можно через which)

Оффлайн graddata

  • Автор темы
  • PreSale
  • Администратор
  • Старожил
  • *
  • Сообщений: 1836
  • BIGCloud
    • Просмотр профиля
Re: скрипт синхронизации файлов
« Ответ #12 : 06 Мая 2008, 16:57:53 »
 это я сделал.
*/5 * * * * /usr/bin/grsync -e >/dev/null 2>&1
 но ей всё равно на меня наплевать.
« Последнее редактирование: 06 Мая 2008, 17:14:27 от pskovgrad »

Оффлайн graddata

  • Автор темы
  • PreSale
  • Администратор
  • Старожил
  • *
  • Сообщений: 1836
  • BIGCloud
    • Просмотр профиля
Re: скрипт синхронизации файлов
« Ответ #13 : 07 Мая 2008, 11:44:46 »
свою проблему  вроде бы решил, хотя через крон не удаётся мне этого сделать.

код скрипта получился следующий:
Цитировать
#!/bin/sh
# Интервал (в секундах) между проверками
CHECKTIME=900

while :
 do
  /usr/bin/grsync -e

sleep ${CHECKTIME}

done

команда в консоли из пользователя:
$./123.sh &
#123.sh  это название моего файла

Оффлайн Nebulosa

  • Активист
  • *
  • Сообщений: 397
    • Просмотр профиля
Re: скрипт синхронизации файлов
« Ответ #14 : 07 Мая 2008, 15:16:19 »
Цитировать
sudo apt-get install gnome-schedule
спасет отца русской демократии  ;)

 

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