The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Два дня ЛОР героически сражался с Rsync..., !*! chukcha, 11-Дек-16, 00:49  [смотреть все]
Понадобилось решить, казалось бы, очень простую задачу - осуществить резервное копирование с диска на диск,
исключив из него папки и файлы, лежащие ниже некоторых задаваемых папок.
Причем, обязательное условие - эти папки должны задаваться АБСОЛЮТНЫМИ путями.
Первым делом быстренько накидал свой вариант

rsync    -avpH      \
--exclude="home/chukcha/.cache/mozilla/firefox/*"                    \
--exclude="home/chukcha/.config/chromium/Default/*"                  \
--exclude="home/chukcha/.cache/moonchild productions/pale moon/*"    \
/home   /mnt/sdc1/

Но я очень плохо разбираюсь в премудростях синтаксиса Rsync, поэтому не удивительно, что он не заработал.
Тогда обратился за помощью к легендарному ЛОРУ - https://www.linux.org.ru/forum/general/13066819

Два дня лоровцы героически сражались с этой задачей, но увы, не справились.
Сдается мне, уже и не справятся, не по зубам, видно, потому обращаюсь за помощью к вам.


PS. Маленькая просьба: только пожалуйста, не надо меня учить "как делать", как это пытались делать лоровцы, а просто приведите рабочий скрипт.
Хотя я понимаю, что учить и тыкать в маны гораздо легче, но когда доходит до конкретики, так все разбегаются в разные стороны.


  • Два дня ЛОР героически сражался с Rsync..., !*! олхнтп, 01:02 , 11-Дек-16 (1)
  • Два дня ЛОР героически сражался с Rsync..., !*! Аноним, 06:24 , 11-Дек-16 (8)
    • Два дня ЛОР героически сражался с Rsync..., !*! chukcha, 21:32 , 11-Дек-16 (11) –1
      Оказывается, всё-таки есть жизнь на Марсе! :) Спасибо за дельные советы!
      Ну а те, кто первыми "высказался"... известно ведь, что  всегда наверху плавает.

      Итак:

      > https://gist.github.com/typomedia/6484306
      > но там исключения отдельно вынесены

      Посмотрел, спасибо. Интересное, хотя для моего юзерского понимания сложноватое решение, но возможно, придется к нему вернуться.


      cat orig_exclude.txt| sed 's/^\/home//'>new_exclude.txt 
      rsync    -avpH --exclude-from=new_exclude.txt /home   /mnt/sdc1/

      > Второй вариант указать в качестве исходного пути "/" и добавить маски  
      > "+ /home/" и "- *" в список исключений, при которых несмотря
      > на указания пути "/" копироваться будет только /home.

      Еще одно любопытное решение, спасибо. Как для меня, сложноватое решение, но тем не менее, дающее шанс, если ничего другое не сработает.

      --------

      А пока просьба рассмотреть решение, которое предложил один из лоровцев.
      Оно привлекло меня  свое исключительной простотой.
      К сожалению, у лоровца оказались сильно испорченые нервы, не долечился, видимо, и диалог прервался на самом интересном месте из-за его хамства.

      Вот что он предложил:

      rsync    -avpH      \
      --filter="-/ /home/chukcha/.config/chromium/Default"                  \
      --filter="-/ /home/chukcha/.cache/mozilla/firefox"                    \
      --filter="-/ /home/chukcha/.cache/moonchild productions/pale moon"    \
      /home   /mnt/sdc1/


      Его автор категорически убежден, что это работает, и привел различные хитрые доказательства.
      Доказательства доказательствами, но к сожалению, сколько не бился с этом скриптом, но у меня оно не заработало.

      Проверял его очень просто: запустил этот скрипт и наблюдал, что копируется, а что нет.
      Оказалось, что копируется всё (разумеется, за исключением ранее скопированного), но к сожалению, корируется также и то, что содержится в строках исключения, а такого, конечно,  не должно быть.

      Что я делаю не так - ума не приложу. Или все-таки это решение неправильное?

  • Два дня ЛОР героически сражался с Rsync..., !*! Freddy Cuper, 08:36 , 11-Дек-16 (9) +1
      • Два дня ЛОР героически сражался с Rsync..., !*! chukcha, 23:09 , 11-Дек-16 (14) –2
        Оказывается, всё-таки есть жизнь на Марсе! :) Спасибо за дельные советы!
        Ну а те, кто первыми "высказался"... известно ведь, что  всегда наверху плавает.

        Итак:

        > https://gist.github.com/typomedia/6484306
        > но там исключения отдельно вынесены

        Посмотрел, спасибо. Интересное, хотя для моего юзерского понимания сложноватое решение, но возможно, придется к нему вернуться.


        cat orig_exclude.txt| sed 's/^\/home//'>new_exclude.txt 
        rsync    -avpH --exclude-from=new_exclude.txt /home   /mnt/sdc1/


        > Второй вариант указать в качестве исходного пути "/" и добавить маски  
        > "+ /home/" и "- *" в список исключений, при которых несмотря
        > на указания пути "/" копироваться будет только /home.

        Еще одно любопытное решение, спасибо. Как для меня, сложноватое решение, но тем не менее, дающее шанс, если ничего другое не сработает.

        --------

        А пока просьба рассмотреть решение, которое предложил один из лоровцев.
        Оно привлекло меня  свое исключительной простотой.
        К сожалению, у лоровца оказались сильно испорченые нервы, не долечился, видимо, и диалог прервался на самом интересном месте из-за его хамства.

        Вот что он предложил:

        rsync    -avpH      \
        --filter="-/ /home/chukcha/.config/chromium/Default"                  \
        --filter="-/ /home/chukcha/.cache/mozilla/firefox"                    \
        --filter="-/ /home/chukcha/.cache/moonchild productions/pale moon"    \
        /home   /mnt/sdc1/


        Его автор категорически убежден, что это работает, и привел различные хитрые доказательства.
        Доказательства доказательствами, но к сожалению, сколько не бился с этом скриптом, но у меня оно не заработало.

        Проверял его очень просто: запустил этот скрипт и наблюдал, что копируется, а что нет.
        Оказалось, что копируется всё (разумеется, за исключением ранее скопированного), но к сожалению, корируется также и то, что содержится в строках исключения, а такого, конечно,  не должно быть.

        Что я делаю не так - ума не приложу. Или все-таки это решение неправильное?




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру