setup.sh 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. #!/bin/bash
  2. set -e
  3. if [ "$#" -ne 1 ]
  4. then
  5. echo "USAGE: $0 NODE_ID"
  6. exit 1
  7. fi
  8. echo "check /etc/redis/node-$1.conf"
  9. if [ ! -d /etc/redis ]
  10. then
  11. mkdir -p /etc/redis
  12. fi
  13. if [ ! -f /etc/redis/node-$1.conf ]
  14. then
  15. cat > /etc/redis/node-$1.conf <<EOF
  16. bind 0.0.0.0
  17. port 637${1}
  18. daemonize no
  19. dir /var/lib/redis-node-$1
  20. cluster-enabled yes
  21. cluster-config-file /tmp/redis-node-$1.conf
  22. cluster-node-timeout 5000
  23. appendonly yes
  24. appendfsync everysec
  25. EOF
  26. chown redis:redis /etc/redis/node-$1.conf
  27. chmod 400 /etc/redis/node-$1.conf
  28. fi
  29. echo "create /var/lib/redis-node-$1"
  30. if [ ! -d /var/lib/redis-node-$1 ]
  31. then
  32. mkdir -p /var/lib/redis-node-$1
  33. chown redis:redis /var/lib/redis-node-$1
  34. chmod 700 /var/lib/redis-node-$1
  35. fi
  36. echo "create /lib/systemd/system/redis-node-$1.service"
  37. if [ ! -f /lib/systemd/system/redis-node-$1.service ]
  38. then
  39. cat > /lib/systemd/system/redis-node-$1.service <<EOF
  40. [Unit]
  41. Description=Redis cluster node-$1
  42. After=network.target
  43. [Service]
  44. Type=simple
  45. User=redis
  46. Group=redis
  47. WorkingDirectory=/var/lib/redis-node-$1
  48. ExecStart=/usr/bin/redis-server /etc/redis/node-$1.conf
  49. # or always, on-abort, on-failure, etc
  50. Restart=always
  51. RestartSec=10s
  52. [Install]
  53. WantedBy=multi-user.target
  54. EOF
  55. chmod 444 /lib/systemd/system/redis-node-$1.service
  56. systemctl daemon-reload
  57. systemctl enable redis-node-$1
  58. fi
  59. echo "done."
  60. exit 0