Я продолжаю получать ошибку разрешений при попытке сбросить файл Redis .rdb в мою бродячую общую папку. Сохранения работают нормально при переходе в расположение по умолчанию / var / lib / redis.
Несколько вещей, которые я пробовал (предлагалось на различных форумах / обсуждениях):
1) добавляем в /etc/init.d/redis-server следующее:
USER=vagrant
GROUP=vagrant
2) Изменение флага umask на 022 в /etc/init.d/redis-server
3) Открытие разрешений для самой бродячей общей папки.
Я почти уверен, что это просто выходит из моей головы и что я делаю что-то не так. Но потратил на это 2 или 3 часа и начинаю терять волосы;)
На сервере Ubuntu 13.04 (Raring-Ringtail) вам необходимо изменить файл /etc/init.d/redis-server. Найдите следующие два раздела, которые нужно изменить:
...
start)
echo -n "Starting $DESC: "
mkdir -p $RUNDIR
touch $PIDFILE
chown redis:redis $RUNDIR $PIDFILE # <---- Old Line
chown vagrant:vagrant $RUNDIR $PIDFILE # <---- New Line
...
# <-- Old Line
if start-stop-daemon --start --quiet --umask 007 --pidfile $PIDFILE --chuid redis:redis --exec $DAEMON -- $DAEMON_ARGS
# <-- New Line
if start-stop-daemon --start --quiet --umask 007 --pidfile $PIDFILE --chuid vagrant:vagrant --exec $DAEMON -- $DAEMON_ARGS
...
В основном вы ищете экземпляры текстовых строк redis: redis (владелец / группа) и заменяете их эквивалентными строками vagrant: vagrant.
Если вы запускали redis-сервер хотя бы один раз под пользователем redid по умолчанию, вам также придется сменить владельца каталога журнала на пользователя-бродягу, иначе сервер redis не перезапустится.
chown -R vagrant:vagrant /var/log/redis
После перезапуска сервера redid вы сможете создать дамп в папку / vagrant, выполнив:
redis-cli save
Вы используете здесь виртуальный бокс в качестве провайдера или что-то еще. если виртуальный бокс, какова среда хоста?
Это может помочь показать нам сообщение об ошибке, которое вы получаете, или (лучше) точку в выводе strace, где происходит сбой. Мне интересно, что именно за неудавшаяся операция. Открываете файл? Получение блокировки?