Сравнение постов

Различия между постами #261767 (13.04.2022 10:36) и #274369 (17.05.2024 12:08).
1
#!/bin/sh
2
#
3
#  Dr.Web drweb-configd init script
4
#
5
#  $Id: 7e07d2ad0adf8734d610911ac40c4c0ca81839ef $
6
#
7
# chkconfig: 235 20 80
8
# description: drweb-configd is a Dr.Web Configuration Daemon
9
# processname: drweb-configd
10
# config: /etc/opt/drweb.com/drweb.ini
11
# pidfile: /var/run/drweb-configd.pid
12
### BEGIN INIT INFO
13
# Provides: drweb-configd
14
# Required-Start: $local_fs $network
15
# Required-Stop: $null
16
# Should-Start: dkms_autoinstaller
17
# Should-Stop: $null
18
# Default-Start: 2 3 4 5
19
# Default-Stop: 0 1 6
20
# Description: drweb-configd is a Dr.Web Configuration Daemon
21
### END INIT INFO
22
23
DAEMON=/opt/drweb.com/bin/drweb-configd
24
PIDFILE=/var/run/drweb-configd.pid
25
TIMEOUT=300
26
27
PATH=/usr/xpg4/bin:/bin:/usr/bin:/usr/ucb:/sbin:/usr/sbin:${PATH}
28
29
EXIT_SUCCESS=0
30
EXIT_FAILURE_NOFILE=1
31
EXIT_FAILURE_RUNNING=2
32
EXIT_FAILURE_NOT_RUNNING=3
33
EXIT_FAILURE_TIMEOUT=4
34
EXIT_FAILURE_NOARGS=5
35
EXIT_FAILURE_NOT_ROOT=6
36
37
STATUS_NOPID=1
38
STATUS_ALIVE=0
39
STATUS_NOT_ALIVE=2
40
STATUS_WRONG_PID=3
41
42
if test -n "$1" -a ! "$1" = "status" ; then
43
    case "`id`" in
44
        uid=0*)
1
У нас вы посчитаете все необходимое - от высококачественных продуктов до сверхтехнологичных предложений. Наш каталог разнообразен, дабы ублаготворить любые потребности. 
2
 
3
Отчего стоит посетить наш сайт? 
4
 
5
Большой выбор продукции: У нас вы обнаружите последние инновации и технологические достижения в наших товарах и услугах. 
6
 
7
Инновации и качество: Мы гордимся  что, что предлагаем лишь только наилучшие решения. 
8
 
9
Специальные предложения: Посещение нашего сайта - это возможность первыми узнавать о особых предложениях, промоакциях и скидках. 
10
 
11
Экспертные рекомендации и статьи: Мы делимся с вами экспертными советами, заметками и рекомендациями по использованию наших товаров. 
12
 
13
Пользовательский навык: Наш веб-сайт разработан с учетом вашего комфорта. Интуитивно понятный интерфейс, быстрая навигация и простота в использовании обеспечивают милый онлайн-опыт. 
14
 
15
Что вас ждет на нашем сайте? 
16
 
17
Разделы https://alpha.prime-pc.md/good_info/45153 - https://alpha.prime-pc.md/good_info/45153 
18
 
19
: 
20
 
21
Каталог продуктов: Ознакомьтесь с нашим разнообразным ассортиментом. От товаров ежедневного спроса до оригинальных и неповторимых предложений - у нас есть все! 
22
 
23
Предложения: Узнайте о наших высокотехнологичных услугах, предоставляемых проф экспертами. 
24
 
25
Блог и заметки: Погрузитесь в мир экспертных советов и заманчивых материалов. Мы делимся информацией, которая поможет вам сделать верный выбор и получить максимальную пользу от наших товаров. 
26
 
27
Особые предложения: Будьте в курсе промоакций и скидок. У нас регулярно проводятся особые мероприятия, посвященные различным событиям. 
28
 
29
Обратная связь: Мы ценим ваше мнение. В разделе "Оборотная связь" вам продоставляется возможность оставить комменты, отзывы и задать вопросы. Ваше мнение важно для нас! 
30
 
31
Как воспользоваться сайтом? 
32
 
33
Изберите категорию: Перейдите в нужный раздел каталога или услуг и выберите интересующий вас товар либо предложение. 
34
 
35
Изучите контент: Ознакомьтесь с увлекательными статьями и блогом, чтобы получить вспомогательную информацию о продукции и услугах. 
36
 
37
Добавьте в корзину: Для покупок просто добавьте продукт в корзину и следуйте инструкциям для оформления заказа. 
38
 
39
Подпишитесь на новости: Будьте в курсе всех мероприятий, подписавшись на нашу рассылку. Получайте первыми информацию о новинках и промоакциях. 
40
 
41
Оставьте отзыв: Поделитесь своим опытом с нашими товарами и предложениями. Ваши отзывы посодействуют иным посетителям сделать правильный выбор. 
42
 
43
В заточение: 
44
 
45
        ;;
46
        *)
47
            echo "$0 $1 must be executed with root privileges"
48
            exit $EXIT_FAILURE_NOT_ROOT
49
        ;;
50
    esac
51
fi
52
53
ulimit -n 16384
54
55
get_pid() {
56
    head -1 "$PIDFILE" 2>/dev/null
57
}
58
59
check_pid() {
60
    if test -r "$PIDFILE" ; then
61
        pid=`get_pid`
62
        if test -n "$pid" ; then
63
            if kill -0 "$pid" 2>/dev/null || ps -p "$pid" >/dev/null 2>&1 ; then
64
                return $STATUS_ALIVE
65
            else
66
                return $STATUS_NOT_ALIVE
67
            fi
68
        else
69
            return $STATUS_WRONG_PID
70
        fi
71
    else
72
        return $STATUS_NOPID
73
    fi
74
}
75
76
start_daemon() {
77
    if test $USE_SYSTEMCTL -eq 1; then
78
        exec /bin/systemctl --job-mode=ignore-dependencies start drweb-configd.service
79
    fi
80
81
    die_if_running
82
    if test ! -x "$DAEMON" ; then
83
        echo "Dr.Web drweb-configd is not installed"
84
        exit $EXIT_FAILURE_NOFILE
85
    fi
86
87
add_execaps=0
88
89
    if type execaps >/dev/null 2>&1 && cat /etc/astra_version | grep '^SE 1.5' >/dev/null 2>&1; then
90
              add_execaps=1
91
    fi
92
93
    if test $add_execaps -eq 1; then
94
           execaps -c 0x100 -- "$DAEMON" -d -p "$PIDFILE" >/dev/null 2>&1
95
    else
96
           "$DAEMON" -d -p "$PIDFILE" >/dev/null 2>&1
97
    fi
98
    retval=$?
99
        if test $retval -ne 0; then
100
        die_if_cant_start
101
    fi
102
    return $retval
103
}
104
105
stop_daemon() {
106
    if test $USE_SYSTEMCTL -eq 1; then
107
        exec /bin/systemctl --job-mode=ignore-dependencies stop drweb-configd.service
108
    fi
109
110
    check_if_not_running
111
    pid=`get_pid`
112
    if test -n "$pid" ; then
113
        kill "$pid"
114
    fi
115
    seconds=0
116
    retval=0
117
    while check_pid ; do
118
        sleep 1
119
        printf "."
120
        seconds=`expr $seconds + 1`
121
        if test "$seconds" -gt "$TIMEOUT" ; then
122
            retval=1
123
            break
124
        fi
125
    done
126
    test "$seconds" -gt "0" && echo
127
    test $retval -eq 0 && rm -f "$PIDFILE" || die_if_timeout
128
    return $retval
129
}
130
131
reload_daemon() {
132
    if test $USE_SYSTEMCTL -eq 1; then
133
        exec /bin/systemctl --job-mode=ignore-dependencies reload drweb-configd.service
134
    fi
135
136
    check_if_not_running
137
    pid=`get_pid`
138
    if test -n "$pid" ; then
139
        kill -HUP "$pid"
140
    fi
141
}
142
143
restart_daemon() {
144
    if test $USE_SYSTEMCTL -eq 1; then
145
        exec /bin/systemctl --job-mode=ignore-dependencies restart drweb-configd.service
146
    fi
147
148
    if check_pid ; then
149
        stop_daemon || die_if_timeout
150
    fi
151
    start_daemon || die_if_cant_start
152
}
153
154
condrestart_daemon() {
155
    if test $USE_SYSTEMCTL -eq 1; then
156
        exec /bin/systemctl --job-mode=ignore-dependencies try-restart drweb-configd.service
157
    fi
158
159
    check_if_not_running
160
    stop_daemon || die_if_timeout
161
    start_daemon || die_if_cant_start
162
}
163
164
daemon_status() {
165
    if test $USE_SYSTEMCTL -eq 1; then
166
        exec /bin/systemctl status drweb-configd.service
167
    fi
168
169
    check_pid
170
    case "$?" in
171
        $STATUS_ALIVE) echo "Dr.Web drweb-configd is running" ;;
172
        $STATUS_NOPID) echo "Dr.Web drweb-configd is not running" ;;
173
        $STATUS_NOT_ALIVE|$STATUS_WRONG_PID) echo "Dr.Web drweb-configd is not running but $PIDFILE exists" ;;
174
    esac
175
}
176
177
die() {
178
    echo "$2" && exit $1
179
}
180
181
die_if_running() {
182
    check_pid && die $EXIT_FAILURE_RUNNING "Dr.Web drweb-configd is already running"
183
}
184
185
check_if_not_running() {
186
    check_pid
187
    case "$?" in
188
        $STATUS_NOPID) echo "Dr.Web drweb-configd is not running"
189
                       exit $EXIT_SUCCESS
190
                       ;;
191
        $STATUS_NOT_ALIVE|$STATUS_WRONG_PID) die $EXIT_FAILURE_NOT_RUNNING \
192
            "Dr.Web drweb-configd is not running but $PIDFILE exists" ;;
193
    esac
194
}
195
196
die_if_timeout() {
197
    die $EXIT_FAILURE_RUNNING "Dr.Web drweb-configd seems is still running"
198
}
199
200
die_if_cant_start() {
201
    die $EXIT_FAILURE_NOT_RUNNING "Failed to start Dr.Web drweb-configd"
202
}
203
204
USE_SYSTEMCTL=0
205
if test -x /bin/systemctl && cat /proc/1/comm 2>/dev/null | grep systemd 1>/dev/null 2>&1; then
206
207
    state=$(/bin/systemctl -p LoadState show drweb-configd.service 2>/dev/null)
208
209
    if test "$state" = "LoadState=not-found"; then
210
        USE_SYSTEMCTL=0
211
    elif test "$state" = "LoadState=masked"; then
212
        die $EXIT_SUCCESS "Dr.Web drweb-configd is masked"
213
    else
214
        if test $PPID -ne 1 -a -z "${init:-}" -a -z "${SYSTEMCTL_REDIRECT:-}"; then
215
            USE_SYSTEMCTL=1
216
        else
217
            export SYSTEMCTL_REDIRECT=1
218
        fi
219
    fi
220
fi
221
case "$1" in
222
    stop)
223
        echo "Shutting down Dr.Web drweb-configd..."
224
        stop_daemon
225
    ;;
226
    reload)
227
        echo "Reloading Dr.Web drweb-configd..."
228
        reload_daemon
229
    ;;
230
    restart)
231
        echo "Restarting Dr.Web drweb-configd..."
232
        restart_daemon
233
    ;;
234
    condrestart)
235
        echo "Restarting Dr.Web drweb-configd..."
236
        condrestart_daemon
237
    ;;
238
    start)
239
        echo "Starting Dr.Web drweb-configd..."
240
        start_daemon
241
    ;;
242
    status)
243
        daemon_status
244
    ;;
245
    *)
246
        echo "Usage: $0 {start|stop|restart|condrestart|reload|status}"
247
        exit $EXIT_FAILURE_NOARGS
248
    ;;
249
esac
250
251
exit $EXIT_SUCCESS