Я пытаюсь отключить проверку RHN при запуске yum на 1000 серверах. Это делается:SED в удаленном скрипте SUDO ssh
Редактирование этого файла /etc/yum/pluginconf.d/rhnplugin.conf
[main]
enabled = 0
Я написал сценарий, чтобы сделать это удаленно. Мы используем индивидуальные счета, и мне нужно, чтобы выполнить эту команду, используя Sudo:
for HOST in $(cat serverlist) ; do echo $HOST; ssh -o ConnectTimeout=5 -oStrictHostKeyChecking=no $HOST -t 'sudo cp /etc/yum/pluginconf.d/rhnplugin.conf /etc/yum/pluginconf.d/rhnplugin.$(date +%F) ; sudo sed -i -e "s/1/0/g" /etc/yum/pluginconf.d/rhnplugin.conf ' ; done
Я знаю, что это длинная линия, но почему она не работает?
Все отдельные команды работают сами по себе
sudo cp /etc/yum/pluginconf.d/rhnplugin.conf /etc/yum/pluginconf.d/rhnplugin.$(date +%F)
sudo sed -i -e "s/1/0/g" /etc/yum/pluginconf.d/rhnplugin.conf
попытались избежать специальных символов:
sudo sed -i -e "s\/1\/0\/g" /etc/yum/pluginconf.d/rhnplugin.conf
Но я получаю сообщение об ошибке все время:
sed: -e expression #1, char 1: unknown command: `?'
Спасибо за ваша помощь.
Обратите внимание на [edit-help] (http://stackoverflow.com/editing-help). – Cyrus
Попробуйте проверить действительную команду sudo, выполненную на удаленном хосте, из файла '/ var/log/secure' или'/var/log/auth.log'. – tivn
Любая причина, по которой вы не полагаетесь на программное обеспечение для управления конфигурацией? Вы можете сделать это очень легко и последовательно с [Ansible] (http://www.ansible.com/) – damienfrancois