Открываю рубрику "костылестроение".
Поступила очередная всратая задача (не спрашивайте где я их беру, приносят). Есть некий сервер с
Nextcloud-ом. Некий другой сервер хочет складывать на него файлы по SFTP. Причем да, именно по SFTP и именно в качестве клиента. Нужно эти закачанные файлы переложить в правильную папку на Nextcloud-е и сделать так,
(
Read more... )
Comments 16
В башестроение (равно как и в даше, то есть совсем-совсем посикс), исходя из опыта, я бы рекомендовал примерно следующий стиль:
command arg || exit 2
Ибо, допустим, доблестный find или ещё кто-то может отработать несколько не так. И лучше бы на этом всё. Чем идти дальше.
Я лично стараюсь ещё трапы писать, потому что сигналы тоже могут быть (TERM допустим), но это для текущих задач админа будет слишком дофига работы. Впрочем, можно копипастить.
Reply
Reply
Там "всё сложно". Когда-то можно, когда-то нельзя. Тестирую обычно
Reply
Во-первых, такое можно один раз прописать в sha-bang наподобие
#!/bin/bash -e
Во-вторых, конкретно в данном примере с ненулевым кодом лучше не завершаться, иначе упадет сам lsyncd, чего мы явно не хотим.
В-третьих, последующие команды не особо зависят от результатов работы предыдущих. Поэтому даже если скрипт продолжит выполняться после фейла какой-то из них, ничего принципиально страшного не произойдет.
Reply
Спорное решение, можно быть нужно и так и эдак
Reply
Reply
Reply
По условию задачи это должен быть некий "вечный" архив. SFTP-клиент точно ничего не станет раскладывать по папкам. А если всё сгружать в одно место, рано или поздно файловая система начнет дико тормозить. Плюс, заказчик пожелал, чтобы клиент мог только закачивать файлы, но не скачивать или удалять.
Reply
Поддержу ув.kvazimoda24 - внешнее хранилище предпочёл бы я.
Хотя почему "бы" - я у себя NC так и использую, как "форточку" до CIFS-шары.
А уж на сервере-носителе шары можно как угодно и чем захочется изгаляться по части перекладывания джейсонов файлов в любую потребную позу (одновременно убирая их из шары).
С пониманием.
p.s. Всерьёз раздумываю о "ротации" виртуалки с NC - чтобы в полночь она превращалась в тыкву ресторилась из "золотого образа" (ага, по схеме VDI или отката снапшота в СХД).
Тогда любые возможные проблемы с расколупыванием её "снаружи" автоматом купируются (понятно, что логи её lifecycle оттопыриваются в нычку и могут быть проинвестинированы "в случае чего").
Правда пока лень побеждает с разгромным счётом (я про суточную реинкарнацию виртуалки с NC).
Reply
Reply
Leave a comment