Я хочу создать сценарий удара, это автоматически устанавливает советы:
Мои проблемы должны изменить строки в 2 файлах:
#Install Redis
sudo apt install redis-server
sudo nano /etc/redis/redis.conf
Я должен найти строку и измененный. Контролируемая директива установлена на не по умолчанию.
# Note: these supervision methods only signal "process is ready."
# They do not enable continuous liveness pings back to your supervisor.
supervised systemd # this line to change
sudo systemctl reload redis.service
нано sudo/etc/redis/redis.conf
Должен не прокомментировать (удалите #, если он существует):
bind 127.0.0.1 ::1
Возможно также протестировать его?
redis-cli
В подсказке, которая следует, тестовая возможность соединения с командой ping:
ping
Output
PONG
или проверьте состояние?
sudo systemctl status redis
Да это возможно, но Вы идете о субоптимальным образом. Это - пакетная обработка, не, используют - также nano
, используйте относящиеся к обработке текстов инструменты. Вместо того, чтобы снабдить префиксом каждую команду sudo
, перенесите все это в сценарий и использование sudo
выполнить сценарий.
Что-то как ("Чем-то как", я подразумеваю, "Что не попробовал это, ни установил redis-сервер. Я просматриваю это как другой пример задачи, которую я много раз делал, но он должен работать"):
#!/bin/bash
if [[ $(id -u) != 0 ]] ; then
echo "Must be run as root" >&2
exit 1
fi
apt update
apt install redis-server
# Just in case, ...
systemctl stop redis-server
# Change "supervised no" so "supervised systemd"? Question is unclear
# If "#bind 127.0.0.1 ::1", change to "bind 127.0.0.1 ::1"
sed -e '/^supervised no/supervised systemd/' \
-e 's/^# *bind 127\.0\.0\.1 ::1/bind 127.0.0.1 ::1' \
/etc/redis/redis.conf >/etc/redis/redis.conf.new
# $(date +%y%b%d-%H%M%S) == "18Aug13-125913"
mv /etc/redis/redis.conf /etc/redis/redis.conf.$(date +%y%b%d-%H%M%S)
mv /etc/redis/redis.conf.new /etc/redis/redis.conf
systemctl start redis-server
# give redis-server a second to wake up
sleep 1
if [[ "$( echo 'ping' | /usr/bin/redis-cli )" == "PONG" ]] ; then
echo "ping worked"
else
echo "ping FAILED"
fi
systemctl status redis
systemctl status redis-server
exit 0