Для клиента я посмотрел бы на SecureFTP:
http://www.glub.com/products/secureftp/
Это запустилось как проект для Национальной Лаборатории несколько лет назад и действительно выросло.
Я использовал SVN для этого. Примите это
начните управлять конфигурацией для этого файла
cp /etc/syslog.conf /configs/etc/
svn add /configs/etc/syslog.conf
svn commit -m "Managing syslog.conf"
внесите изменения с помощью сценария
#echo some stuff into the file.. no need for extra markup/metadata
cp /etc/syslog.conf /configs/etc/
svn commit -m "I added some junk temporarily"
service syslogd restart
Теперь можно откатывать к предыдущей версии. Между дополнением и откатом, при создании другого, постоянного, изменения, можно использовать svn для получения различий между версиями и материала слияния вместе.
Конечно, замена в мерзавце или независимо от того, что Вам нравится для управления версиями. И также сделайте некоторые постоянные сценарии для сокращения возможностей для ошибок, как функция удара, что CP файл в checkedout repo на основе пути, берет комментарий фиксации в качестве аргумента.или что бы то ни было.
луг у Вас есть репозиторий конфигурации в svn:///, конфигурирует/, который содержит etc/syslog.conf, и Вы, знают, что новая вещь в репозитории совпадает с живым файлом конфигурации в файловой системе:
sed
обычно не делает многострочных шаблонов как этот. Вы могли сделать:
read -d '' -r replacement<<HEREDOC
###some unique string###
echo "kecrn.* @syslog.server.local"
###end some unique string###
HEREDOC
sed -e "/beginmark/i\beginmark\n$replacement\nendmark" -e '/beginmark/,/endmark/d'` filename
Вы также не можете перенаправить на тот же файл. Это будет сначала усекать файл и затем работать sed
на нем (который теперь пуст). Необходимо использовать временный файл или использовать --in-place
(или -i
) опция:
sed -i 'sed commands' filename
или
sed 'sed commands' filename > tmpfile
mv tmpfile filename
Часть AS развертывания марионеточного проекта, я обнаружил augeas; http://augeas.net/
который является инструментом управления конфигурационного файла.