Сообщение об ошибке касается не crontab
, а httpd
(Apache).
Начать расследование, временно выключив SELinux:
setenforce 0
(который будет адресован большинство , но не все блокировки). Проблема обычно может быть исправлена с помощью одной из настроек SELinux через semanage
(если файлы Drupal хранятся в том месте, которое SELinux не ожидает), или с помощью restorecon
(для восстановления метаинформации для файловой системы).
В крайнем случае можно использовать audit2allow .
Для справки:
семанжа
) -121--228482-
Отсутствуют «рекомендации». Только вещи, которые имеют смысл и облегчают ситуацию.
Извлечение общих частей и параметризация остальных является одной из таких вещей:
lines="`gunzip -c /var/log/cisco/cisco.log-$(date +%Y%m%d).gz`"
#gunzip would always output the same thing on the same day, so
#just run it once and store the results in a variable
grepAndLog(){
local regex="$1" file="$2" msg="$3" filter="${4:-cat}"
#^names for positional parameters
printf "%s\n" "$lines" | grep "$regex" | cut -d' ' -f4 | sort | uniq -c | eval "$filter" > "/tmp/$file"
local count=`wc -l < "/tmp/$file"`
echo "There are $count "" $msg" >> "/tmp/$file"
}
grepAndLog ath_bstuck_tasklet netgear_bacon.txt \
'Stuck beacon; resetting'
grepAndLog netgear_buffer_queue netgear_buffer_queue.txt \
"routers with 'Virtual device ath0 asks to queue packet' errors"
grepAndLog CMS_MSG_DNSPROXY_RELOAD netgear_dns.txt \
" routers with 'DNS Proxy Issue' errors"
grepAndLog ath_bstuck_tasklet netgear_bacon.txt \
" routers with beacon frame errors"
grepAndLog ACK netgear_ACK.txt \
" routers with more than 50 ACK" 'awk -v x=50 "\$1 >= x"'
Это все еще решение в основном оболочки. Но ИМО более читаема и более чем на 40% короче.
Я использую grep «$ regex» | cut -d '' -f4
вместо выражения awk.
Кроме того, функция grepAndLog
является обобщением того, что вы делаете в каждой строке сценария:
У вас есть некоторые входные данные (выходные данные gunzip), для выражения (параметр $ regex
), и вы выводите результирующие строки, отсортированные и с префиксом count в файл $
. Затем добавляется число строк
(Я делаю wc -l вместо
wc -l «$ file» | awk...
), заключенное в сообщение, начало которого является постоянным и конец которого изменяется ( $ msg
).
В своей последней строке вы не просто греп, но вы используете другой фильтр поверх этого.
Вместо создания ветви if
для этой функции, я просто использую cat
в качестве неявного дополнительного фильтра по умолчанию в обычных случаях, когда четвёртого параметра не существует ( local filter = «$ {4: -cat}»
означает создание фильтра функциональных локальных переменных, содержимое которого является четвертым параметром, заданным функции, или cat
, если четвёртый параметр не предоставлен cat
переопределяется, если четвертый параметр задан как grepAndLog
.
-121--77543-
Звучит как аппаратная проблема для меня, особенно с учетом потери пакета. Что-то подобное может произойти, когда поставка питания плохо экранирован или имеется незакрепленное соединение, вызывающее небольшие искры. В идеале это можно протестировать с помощью сменной поставки питания. Перед покупкой новой поставки питания можно попытаться обернуть поставку питания и кабель в алюминиевую фольгу. Делайте это только тогда, когда поставка питания не подключена ни к одному разъему, и убедитесь, что вы не создаете короткое!!!Если это поможет, необходимо заменить поставку питания. Не используйте алюминиевую фольгу в качестве постоянного решения, это опасно вокруг электрооборудования!!!
Просто используйте:
dpkg-reconfigure locales
И выберите язык по умолчанию (из списка локалей, созданного на первом экране (вы можете выбрать несколько ))на втором экране.