Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!
0 Пользователей и 1 Гость просматривают эту тему.
Цитата: Punko от 04 Марта 2016, 03:10:58Я к тому, что перезапуск это ничто иное как цикл стоп-старт.Вы в курсе, что SysV init уже нигде практически не используется?…doom753, сделайте обёртку-редактор или используйте веб-интерфейс для добавления записей. При сохранении - проверка синтаксиса.Я для smb.conf себе сделал. (Нажмите, чтобы показать/скрыть)Код: (bash) [Выделить]#!/bin/sh# $Id: smbedit 156 2015-04-19 17:49:07Z anrdaemon $umask 0022# Fuck user $PATHPATH=/usr/sbin:/usr/bin:/sbin:/bin# samba-tool testparm wrapper.# samba_test filesamba_test(){ samba-tool testparm --suppress-prompt --configfile="$1"}# Check the configuration file. Return 1 if errors.# check_config changed.filecheck_config(){ local - local _check _check="$( { samba_test "$1" > /dev/null; } 2>&1)" test -z "$_check" || { echo "$_check" return 1 }}# Check for changes between two configuration files# check_changes original.file changed.filecheck_changes(){ samba_test "$2" 2>&1 | diff -q "$1" - > /dev/null}# Edit the file. Return 1 if there were changes. 2 if errors.edit_file(){ "$_editor" "$_edit" check_config "$_edit" || return 2 check_changes "$_test" "$_edit"}ed_commit(){ local - set -e cp --archive --backup=numbered "$_file" "${_file}-smbedit" mv "$_edit" "$_file" smbcontrol all reload-config ed_cleanup}ed_cleanup(){ rm -f "$_edit" "$_test" || true}_editor="${FCEDIT:-${VISUAL:-${EDITOR:-$(which editor)}}}" || { echo "Unable to find preferred editor." echo "Either define VISUAL or EDITOR environment variable or install alternatives package." exit 1}_diff="$(which diff)" || { echo "We need diff tool to work." exit 1}_file="${1:-/etc/samba/smb.conf}"test -f "$_file" -a -w "$_file" || { echo "File is not writeable. Are you root?" exit 1}_edit="$(mktemp "$_file.XXXXXXXX")"_test="$(mktemp "$_file.XXXXXXXX")"chmod --reference="$_file" "$_edit" "$_test"cp "$_file" "$_edit"samba_test "$_edit" > "$_test"until edit_file "$_edit"; do case $? in 1) ed_commit; exit 0 ;; 2) echo "It appears, your configuration is not valid." read -p "Edit again or [C]ancel?(edit): " REPLY case $REPLY in c*) break;; esac ;; esacdoneed_cleanupИ вообще что за дурдом, почему голые IP в конфиге?
Я к тому, что перезапуск это ничто иное как цикл стоп-старт.
#!/bin/sh# $Id: smbedit 156 2015-04-19 17:49:07Z anrdaemon $umask 0022# Fuck user $PATHPATH=/usr/sbin:/usr/bin:/sbin:/bin# samba-tool testparm wrapper.# samba_test filesamba_test(){ samba-tool testparm --suppress-prompt --configfile="$1"}# Check the configuration file. Return 1 if errors.# check_config changed.filecheck_config(){ local - local _check _check="$( { samba_test "$1" > /dev/null; } 2>&1)" test -z "$_check" || { echo "$_check" return 1 }}# Check for changes between two configuration files# check_changes original.file changed.filecheck_changes(){ samba_test "$2" 2>&1 | diff -q "$1" - > /dev/null}# Edit the file. Return 1 if there were changes. 2 if errors.edit_file(){ "$_editor" "$_edit" check_config "$_edit" || return 2 check_changes "$_test" "$_edit"}ed_commit(){ local - set -e cp --archive --backup=numbered "$_file" "${_file}-smbedit" mv "$_edit" "$_file" smbcontrol all reload-config ed_cleanup}ed_cleanup(){ rm -f "$_edit" "$_test" || true}_editor="${FCEDIT:-${VISUAL:-${EDITOR:-$(which editor)}}}" || { echo "Unable to find preferred editor." echo "Either define VISUAL or EDITOR environment variable or install alternatives package." exit 1}_diff="$(which diff)" || { echo "We need diff tool to work." exit 1}_file="${1:-/etc/samba/smb.conf}"test -f "$_file" -a -w "$_file" || { echo "File is not writeable. Are you root?" exit 1}_edit="$(mktemp "$_file.XXXXXXXX")"_test="$(mktemp "$_file.XXXXXXXX")"chmod --reference="$_file" "$_edit" "$_test"cp "$_file" "$_edit"samba_test "$_edit" > "$_test"until edit_file "$_edit"; do case $? in 1) ed_commit; exit 0 ;; 2) echo "It appears, your configuration is not valid." read -p "Edit again or [C]ancel?(edit): " REPLY case $REPLY in c*) break;; esac ;; esacdoneed_cleanup
Человек физически не в состоянии администрировать сервер.Не может прочесть десять строк команд, понять, что они делают, и как-то это понимание применить к себе.
Не надо употреблять "помогите" в контексте "сделайте за меня".Я не ведусь на этот развод.
Так значит так, разводить тут нечего, хотя бы скажите что это за скрипт и что он должен делать?
Страница сгенерирована за 0.054 секунд. Запросов: 25.