Я использовал (не больше) apcupsd в течение приблизительно 5 лет в сочетании с Linux (RH), w2k3 и различные модели от APC и с различными установками. В течение того времени я замечаю, что для Linux отказывал приблизительно 1-2 раза в месяц, и клиенты w2k3 apcupsd отказались снова соединяться, если не перезапущено. Также я замечаю некоторые проблемы, работающие apcupsd в сочетании с w2k3 службами удаленных рабочих столов.
Для энергии Вы имеете мощные сценарии в наличии. Например, в моем .vimrc, я имею:
" Stolen from http://www.debian-administration.org/articles/571
" Sets +x on stuff starting with the magic shebang.
au BufWritePost * if getline(1) =~ "^#!" | silent !chmod a+x <afile>
Если Вы хотите сделать это именем файла только, вместо того, чтобы искать #! строка, Вы могли сделать:
au BufWritePost *.ext silent !chmod a+x <afile> " untested
Та статья об администрации Debian имеет инструкции для EMACS также.
Так, как мне нравится ответ derobert, он заставляет VIM давать мне соблюдающее предупреждение:
W16: Предупреждение: Режим файла "test.sh" изменился начиная с запущенного редактирования
Следующий (несколько более длинный) код решает ту проблему (требует поддерживающей Python энергии):
function! SetExecutableBit()
python <<EOD
import vim
import os
import stat
filename = vim.current.buffer.name
mode = os.stat(filename).st_mode
os.chmod(filename, mode | stat.S_IXUSR)
EOD
endfunction
autocmd BufWritePost *
\ if getline(1) =~ "^#!" | call SetExecutableBit()
autoread
набор.
– derobert
27.12.2012, 00:25