https://www.samba.org/ftp/rsync/rsync.html
rsync somehost.mydomain.com::

rsync archive.archlinux.org:: ---- должно показать modname, но выскакивает какая то ошибка
Вот эти два ниже должно вывести список папок файлов.
rsync -avn --list-only archive.archlinux.org: /target/ #отвечает -- ошибка в нескольких местах /etc/sshd_config
rsync -avn --list-only archive.archlinux.org: /target/ # соединяет host и /home/user/ в одну строку и потом "ой, это не та директория"
оба раза отвечает -- ошибка в нескольких местах /etc/sshd_config
я туда еще не лазил.
что делать ?
С уважением, .
vasek
так и не понял, этот вариант работает?
shopt -s extglob
rsync -a -f"+ */" -f"- *" /souce/!(N*) /target
спасибо. я пока что не пробовал, тк не понял другое. по ссылке все файлы которые и какие использую
Пишу
src=mirror.yandex.ru::archlinux - mirror-sync.sh синхронизирует всё нужное если интересующие папки уже созданы локально.
2020-08-04.sh - воще проблемы.
когда нужно зеркало https://archive.archlinux.org/repos/2020/08/04/
то если указать
src=https://archive.archlinux.org/repos/2020/08/04/ требует авторизацию
а если
src=archive.archlinux.org/repos/2020/08/04/ , то оно складывает $src и $trg(/home/user/) в одну строку и потом пищщит, что такого локального пути нет.
я этот src по разному пробовал писать - не получается.
С уважением, .
vasek
или осваивай –exclude ….
я попозжа выложу простыню

rsync почему то складывает "$source" "$target" в одну строку и потом жалуется что такого пути "$target"+"$source" нет. это баг-фича или мой косяк ?
я пробовал без переменных явным образом указывать - такая же ерунда получается.
причем когда , то все норм пашет а через некоторое время, стоит только поменять сервер на
https://archive.archlinux.org/repos/2020/08/04/
source=archive.archlinux.org:/repos/2020/08/04/
уже не работает. жалуется на "$target"+"$source" не существует. пробел есть. что нужно, не представляю.

наличие кавычек возле "$target"+"$source" не влияет . хоть двойные хоть одинарные. если папки уже созданы всё робит четко.
файлы синхронизируются с яндекса или http://mirror.pkgbuild.com/

wau
Наврное лучше не примере.
почему rsync соединяет $source" "$target" в один путь локальный и потом трындитт что такого пути нет ?
наличие отсутствие кавычек вообще никак не влияет.

если так
src=mirror.yandex.ru::archlinux
not="./mirror-exclude.txt"
rsync -alvrzth --progress --delete --delete-after --delete-excluded --inplace --partial --exclude-from=$not $src/core/os/x86_64/ /home/oper/mirror/core/os/x86_64/
то папки приходится создавать руками.

а если так
src=[https//:]arch.jensgutermuth.de[тут что угодно] или src=arch.jensgutermuth.de[тут что угодно]
либо не соединяет либо делает таргет с источником в один локальный путь и потом "такого пути нет"
С уважением, .
vasek
rsync -a –include '*/' –exclude '*' "$source" "$target"
Спасибо. Это скачивает все папки без файлов. Нужно исключить папки , которые не нужны добавив --exclude-from="blabla.txt"

Я так сделал и rsync файл нашёл, но на содержимое не обратил внимания.
к примеру в blabla.txt было
- /archserver
- /archserver/*/
- /iso/2020.0?.??/*.*
- /iso/2020.0?.??/*/
- /iso/2020.0?.??/*/*/*
Но лишние папки в назначении всё равно были созданы. а если убрать --exclude '*' , то rsync качает и файлы. очень любит кучу iso за последние пару лет.
Что интересно, первые 14 строк из blabla.txt ок, удаляет лишние папки, а дальше никак, хотя они по образцу такие же
С уважением, .
wau
Относительно слэша так - предположу, что в редакции описанной строки он попытался все положить в /home/mirror/mirror.yandex.ru::archlinux, рекурсивно.
проскакивало что нет такой папки /home/mirror/mirror.yandex.ru::archlinux
я не понимаю откуда оно взялось, я то хотел в /home/mirror/ качать
- это основное, почему я написал свой вопрос

wau
путей имеется разносортица - путь то полный, то от неуказанного места.
пожалуйста прошу обьясните нубу

нужны не все папки, а с учетом исключений прописанных в отдельном тхт файле

vasek
просто нужен правильный запрос
у меня английский язык не родной. я спрашивал по русски.

спасибо за подсказки
С уважением, .
Документация от авторов с примерами https://rsync.samba.org/documentation.html

Проблема в том, что
1. на rsync archive.archlinux.org::archive пишет ошибку "доступ запрещён"
Из всего последующего исследования сделал вывод, что серверная часть настроена криво.
С другими rsync серверами такого нет.
2. rsync пытается найти каталог с именем хоста, хотя я такое не указывал в своих опциях.
получаю сообщение что /home/user/папка/archive.archlinux.org/repos/ ..... не существует.
я такое как rsync хочет сделать нигде не указывал.
в man я такую опцию не видел, чтобы её вкл или выкл.

{UPDATE} {UPDATE}
Что Требуется
нужно скачать содержимое папки файлы, обращая внимание на тхт файл с исключениями.
чтобы папки в назначении были созданы до синхронизации самих файлов.
я хочу простой короткий путь в домашней папке без имени сервера и папка в папке папки.

ОПИСАНИЕ ситуации
С яндексом синхронизация получается если папки home/user/mirror/{core,extra,community}/os/X86+64/ были созданы ранее руками и rsync качает прямо в них.
с http://arch.jensgutermuth.de/ не получается.
а с https://archive.archlinux.org/repos/папка/папка/папка в папке/ не получается.
то ошибка с путями, то требует авторизацию и жалуется на ошибку конфигурации ssh.
Мне этот ssh зачем ?
если папка home/user/mirror пуста, то rsync пытается качать в /home/user/mirror/mirror.yandex.ru/папка/папка/папка в папке/ .
оба *.Sh файла у меня различаются только источником и назначением. написаны одинаковой грамматикой и пунктуацией

ВОТ ЧТО Я ДЕЛАЛ И КАК
по ссылке все файлы которые и какие использую
опции relative , mkdir добавлял --- толку ноль.
./mirror-exclude.txt лежит в папке со скриптом.
а скрипт лежит в /home/user/
зеркалю в /home/user/mirror/{core,extra,multilib, community, pool}/os/X86+64/ , /home/user/mirror/pool , /home/user/mirror/pool/iso/дата/
по конкретной дате.
Для удобства проверки я предоставил sh который создает нужные папки командой mkdir
ман и гугло поиск не помогли.

КАК ПОБЕДИТЬ ?
пожалуйста прошу помочь увидеть где я накосячил или как сделать это всё иначе

UPD 2020-12-30
возможно опция -r лишняя или это ошибка в rsync с этой опцией вот такая:
так как если /a~-- это каталог, то cp -r /a /b скопирует /a в /b/a и /a/x в /b/a/x в случае, если /b уже существует, но эта же команда будет копировать /a в /b и /a/x to /b/x, если /b не существует, или же завершится с ошибкой, если /b~-- обычный файл).

Вот у меня именно так и происходит. Я понял это посмотрев https://archlinux.org.ru/forum/topic/14140/ и man cp
С уважением, .
в итоге экспорт в zshrc был закомментирован и я на текущий сеанс назначаю редактор.
надоело искать граблю.
С уважением, .
vasek
гугли несколько источников, например это
перед как написать я это всё попробовал. под мою задачу ничо не работало.

indeviral
man bash это от туда ^,;
Скажите пожалуйста, оно тут каким боком, в каком смысле ?)
С уважением, .
вот в этом примере что не верно https://fooobar.com/questions/5809167/changing-next-line-after-pattern-with-awk-or-sed ?
первый ответ из четырех.
С уважением, .
vasek
Применяя команду sed
всё получилось. спасибо.
можете пожалуйста обьяснить по шагам что делает как работает предложенная вами команда ?
в инете везде ^ , а вы не стали
что означает ноль после n , зачем там запятая после нуля ?
С уважением, .