Я пытаюсь написать сценарий развертывания сайта, который будет копировать файлы следующим образом:
ИСТОЧНИК
.
..
src/
html/
DEST
.
..
src/
html/ -> /var/www/ftproot/mysite
Я хочу, чтобы файлы в SOURCE html
шли в DEST /var/www/ftproot/mysite
.
Сценарий был:
cd SOURCE
cp -Rf * DEST
Каждый раз, когда я запускаю скрипт, я получаю эту ошибку:
cp: cannot overwrite non-directory 'html' with directory `html'
Из этого я делаю вывод, что cp
не может автоматически копировать файлы в DEST, когда DEST имеет символические ссылки.
Заметки:
Следуя руководству по cp, я установил
POSIXLY_CORRECT
в 1. Это не работаетМне пришлось связать сайт
html
сftproot/mysite
а не наоборот, потому что у пользователей ftp странные режимы доступа.Этот парень изменил исходный код
cp
и перекомпилировал его. Я не хочу делать это с производственным сервером.
Есть идеи, как это решить?