здравствуй многоуважаемый Олл.
Озадачился <тут было матерное слово, но по контексту подходит "веб"> дизайном, и тут-же огреб проблему.
Знаю 2 зеркальщика: lftp и mirrordir но оба не катят.
Надо чтобы зеркалились только изменившиеся/новые файлы
и при зерклении не менялись права подкаталогов.
lftp: Все замечательно, но при закачке файлов зачем-то меняет права
на подкаталоги и подкаталог имевший права 777 вдруг становится 755
и соответственно php скрипт туда уже файлы не может писать, ибо он работает
от apache а подкаталог делается через ftp и владелец подкаталога юзер.
mirrordir: Замечательно гоняет и вверх и вниз, но если файлы за промежуток
времени изменились и локально и удаленно (одни локально, другие удаленно)
то получим в месте назначения перезапись более новых файлов более старыми
и в лучаекогда я скажем поправил какие-то .php,.html файлы а на сервере обновились логи
воникают ножницы... если зеркалить с сервера то новые файлы .php затрутся старыми
а логи обновятся, если наоборот то обновятся на сервере .php файлы а логам будет труба.
Кто чего посоветует?
Человечески ftp mirror из командной строки есть?
rsync
не?
rsync
не?
Не, не катит потому как фрихостер.
не понял, у хостера хостинг на винде?
[quote=Vadimsky]rsync
не?
Не, не катит потому как фрихостер.[/quote]
Я так понял что есть доступ только по FTP? Если ssh доступа нет, потому наверно rsync и в правду не покатит. только если в связке, но думаю конструкция получится хлипкая.
По mirrordir не пользовался, но практически уверен что можно натроить исключения на папку с логами при обновлении из локальной копии
Погуглил нашел топик в котором описано:
mirrordir [--exclude-from file] control mirror
control - "эталонный" каталог
mirror - обновляемый каталог
file - файл со списком исключений
в мане расписано все, с примерами.
Посмотрите еще http://www.csync.org может подойдет.
P.S.
"права 777" это кстати нехорошо...
lftp: Все замечательно, но при закачке файлов зачем-то меняет права
на подкаталоги и подкаталог имевший права 777 вдруг становится 755
и соответственно php скрипт туда уже файлы не может писать, ибо он работает
от apache а подкаталог делается через ftp и владелец подкаталога юзер.
любой файл созданный в Linux подчиняется правилу umask, в правах СБРАСЫВАЮТСЯ биты, которые установленны в этой umask, а т.к. umask 0022, то неудивительно, что 0777 & ~0022 = 0755. И это кошерно с т.з. безопасности.
если открыть
-p, --no-perms don't set file permissions
--no-umask don't apply umask to file modes
то становится очевидно решение --no-umask не накладывает на файлы данную маску. Но это опасно. Впрочем - делайте что хотите, ваш хостинг.