Человечески ftp mirror из командной строки есть?, Не нашел чем зеркалить.
GNU/Linux, UNIX, Open Source → GNU/Linux
здравствуй многоуважаемый Олл.
Озадачился уёб дизайном, и тут-же огреб проблему.
Знаю 2 зеркальщика: lftp и mirrordir но оба не катят.
Надо чтобы зеркалились только изменившиеся/новые файлы
и при зерклении не менялись права подкаталогов.
lftp: Все замечательно, но при закачке файлов зачем-то меняет права
на подкаталоги и подкаталог имевший права 777 вдруг становится 755
и соответственно php скрипт туда уже файлы не может писать, ибо он работает
от apache а подкаталог делается через ftp и владелец подкаталога юзер.
mirrordir: Замечательно гоняет и вверх и вниз, но если файлы за промежуток
времени изменились и локально и удаленно (одни локально, другие удаленно)
то получим в месте назначения перезапись более новых файлов более старыми
и в лучаекогда я скажем поправил какие-то .php,.html файлы а на сервере обновились логи
воникают ножницы… если зеркалить с сервера то новые файлы .php затрутся старыми
а логи обновятся, если наоборот то обновятся на сервере .php файлы а логам будет труба.
Кто чего посоветует?
Последние комментарии
- OlegL, 17 декабря в 15:00 → Перекличка 21
- REDkiy, 8 июня 2023 года в 9:09 → Как «замокать» файл для юниттеста в Python? 2
- fhunter, 29 ноября 2022 года в 2:09 → Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt? 6
- Иванн, 9 апреля 2022 года в 8:31 → Ассоциация РАСПО провела первое учредительное собрание 1
- Kiri11.ADV1, 7 марта 2021 года в 12:01 → Логи catalina.out в TomCat 9 в формате JSON 1
А что если после зеркалирования сделать запуск скрипта, который ставит правильные права на файлы и папки?
Ну чайник я, чайник. Подскажите чайнику как написать скрипт по ftp меняющий права доступа. На ремотной стороне я даже не юзер, я просто ftp юзер, а то что кладу уже апачем кушается. (Бесплатный хостинг)
lftp
Чтобы это исправить, пишем в /etc/lftp.conf (ну или в ~/.lftp) такую строчку:
(с) linuxopen.ru/2008/09/15/gramotnye-nastrojjki-lftp.html
Спасибо за грамотный ответ, но оно увы не поможет :(
Оно перестает играться правами, но увы это не помогает. Потому как без играния
(да и вообще права как-то странно выставляются) все вновь закачиваемые файлы будут иметь
права 644, что в моем случае не слишком поможет. Скрипты так можно закачивать, не требуется чаще всего чтобы сервер в них писал,
а вот какой-нибудь файл настроек сгенеренный локально и открытый на запись всем туда с помощью lftp как-то не льется :(
В общем что-то грабли сплошные, даже и не знаю с какой стороны за них взяться.
1. Выставление прав доступа
2. ftp от имени пользователя а php от apache
или ftp от имени пользователя
первое более секурно, потому как дыры в скриптах не сумеют записать туда где запрещено писать всем кроме
хозяина.
второй вариант позволит не заморачиваться с правами при закачке, но любая дыра в скрипте и тот может писать во все файлы
пользователя.
В общем что-то пока сплошная головная боль от этих ограниченных фрихостингов.
Толи дело личная Linux машина скажем на VPS хостинге.
Прочитал дважды. Но не понял в чем проблема.
Не просекаю идеологии. Осваиваю фришный хостинг.
Есть 2 случая:
Пользователи из под которых пускаются сервисы:
1. ftp=user apache=user
2. ftp=user apache=apache
В первом случае все хорошо, но любой скрипт может писать любой юзерский файл
Но это не на всех хостингах. Более другой хостер использует второй вариант и файл записанный
по ftp будет иметь владельца=user а PHP скрипт будет пускаться от апача, соответственно будем иметь
возможность из PHP писать только в файл с разрешенной записью для others. Все-бы ничего если через панель управления файлы закачивать и права доступа выставлять, но хочется зеркалированием это делать, однако тут проблемы с правами на файлы и подкаталоги. lftp или косячит с правами или пишет файлы с правами скажем 644 что не даст такому файлу быть записанным скриптом а хочется не лазить скажем каждый раз в веб панель управления для апдейта скажем конфига… хочется его локально обновить и позвать lftp чтобы он на сервер обновленное закинул.
С ситуацией с правами справляется mirrordir, но он апдейтит ВСЕ различающиеся файлы а не только более старые.
Вот в том и проблема что фрихостер и не поднимешь скажем rsync, есть только ftp а по ftp нормально апдейтить сохраняя права и перезаписывая только более старые файлы не нашел чем. Или права не сохраняют или пишут ВСЕ — затирая более новые логи на сервере протухшими логами с прошлого зеркала. А мне надо чтобы скажем скрипты апдейтились с локального на сервер а логи не трогались а при запуске обратной закачки как раз скачиваличь на локальный диск. Пробовал lftp, mirrordir, wget, wput.