Last active
December 29, 2015 12:59
-
-
Save tkuchiki/7674158 to your computer and use it in GitHub Desktop.
redis template
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
# | |
# redis init file for starting up the redis daemon | |
# | |
# chkconfig: - 20 80 | |
# description: Starts and stops the redis daemon. | |
# Source function library. | |
. /etc/rc.d/init.d/functions | |
name="redis-server" | |
exec="/usr/sbin/$name" | |
pidfile="/var/run/redis/redis.pid" | |
REDIS_CONFIG="/etc/redis/redis.conf" | |
REDIS_CLI="/usr/bin/redis-cli" | |
[ -e /etc/sysconfig/redis ] && . /etc/sysconfig/redis | |
lockfile=/var/lock/subsys/redis | |
start() { | |
[ -f $REDIS_CONFIG ] || exit 6 | |
[ -x $exec ] || exit 5 | |
echo -n $"Starting $name: " | |
daemon --user ${REDIS_USER-redis} "$exec $REDIS_CONFIG" | |
retval=$? | |
echo | |
[ $retval -eq 0 ] && touch $lockfile | |
return $retval | |
} | |
stop() { | |
echo -n $"Stopping $name: " | |
$REDIS_CLI shutdown | |
retval=$? | |
echo | |
[ $retval -eq 0 ] && rm -f $lockfile | |
return $retval | |
} | |
restart() { | |
stop | |
start | |
} | |
reload() { | |
false | |
} | |
rh_status() { | |
status -p $pidfile $name | |
} | |
rh_status_q() { | |
rh_status >/dev/null 2>&1 | |
} | |
case "$1" in | |
start) | |
rh_status_q && exit 0 | |
$1 | |
;; | |
stop) | |
rh_status_q || exit 0 | |
$1 | |
;; | |
restart) | |
$1 | |
;; | |
reload) | |
rh_status_q || exit 7 | |
$1 | |
;; | |
force-reload) | |
force_reload | |
;; | |
status) | |
rh_status | |
;; | |
condrestart|try-restart) | |
rh_status_q || exit 0 | |
restart | |
;; | |
*) | |
echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart}" | |
exit 2 | |
esac | |
exit $? |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/var/log/redis/redis.log { | |
weekly | |
rotate 10 | |
copytruncate | |
delaycompress | |
compress | |
notifempty | |
missingok | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Name: redis | |
Version: __VERSION__ | |
Release: 1%{?dist} | |
Summary: A persistent key-value database | |
Group: Applications/Databases | |
License: BSD | |
URL: http://redis.io | |
Source0: http://redis.googlecode.com/files/%{name}-%{version}.tar.gz | |
Source1: %{name}.logrotate | |
Source2: %{name}.init | |
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) | |
BuildRequires: tcl >= 8.5 | |
ExcludeArch: ppc64 | |
Requires: logrotate | |
Requires(post): chkconfig | |
Requires(postun): initscripts | |
Requires(pre): shadow-utils | |
Requires(preun): chkconfig | |
Requires(preun): initscripts | |
%define configdir %{_sysconfdir}/%{name} | |
%description | |
Redis is an advanced key-value store. It is similar to memcached but the data | |
set is not volatile, and values can be strings, exactly like in memcached, but | |
also lists, sets, and ordered sets. All this data types can be manipulated with | |
atomic operations to push/pop elements, add/remove elements, perform server side | |
union, intersection, difference between sets, and so forth. Redis supports | |
different kind of sorting abilities. | |
%prep | |
%setup -q | |
%build | |
make %{?_smp_mflags} \ | |
DEBUG='' \ | |
CFLAGS='%{optflags}' \ | |
V=1 \ | |
all | |
%check | |
make test | |
%install | |
rm -fr %{buildroot} | |
make install PREFIX=%{buildroot}%{_prefix} | |
# Install misc other | |
install -p -D -m 644 %{SOURCE1} %{buildroot}%{_sysconfdir}/logrotate.d/%{name} | |
install -p -D -m 755 %{SOURCE2} %{buildroot}%{_initrddir}/%{name} | |
install -p -D -m 644 %{name}.conf %{buildroot}%{_sysconfdir}/%{name}/%{name}.conf | |
install -p -D -m 644 sentinel.conf %{buildroot}%{_sysconfdir}/%{name}/sentinel.conf | |
install -d -m 755 %{buildroot}%{_localstatedir}/lib/%{name} | |
install -d -m 755 %{buildroot}%{_localstatedir}/log/%{name} | |
install -d -m 755 %{buildroot}%{_localstatedir}/run/%{name} | |
# Fix non-standard-executable-perm error | |
chmod 755 %{buildroot}%{_bindir}/%{name}-* | |
# Ensure redis-server location doesn't change | |
mkdir -p %{buildroot}%{_sbindir} | |
mv %{buildroot}%{_bindir}/%{name}-server %{buildroot}%{_sbindir}/%{name}-server | |
%clean | |
rm -fr %{buildroot} | |
%post | |
touch /var/lock/subsys/redis | |
/sbin/chkconfig --add redis | |
%pre | |
getent group redis &> /dev/null || groupadd -r redis &> /dev/null | |
getent passwd redis &> /dev/null || \ | |
useradd -r -g redis -d %{_sharedstatedir}/redis -s /sbin/nologin \ | |
-c 'Redis Server' redis &> /dev/null | |
exit 0 | |
%preun | |
if [ $1 = 0 ]; then | |
/sbin/service redis stop &> /dev/null | |
/sbin/chkconfig --del redis &> /dev/null | |
fi | |
%files | |
%defattr(-,root,root,-) | |
%doc 00-RELEASENOTES BUGS CONTRIBUTING COPYING README | |
%config(noreplace) %{_sysconfdir}/logrotate.d/%{name} | |
%config(noreplace) %{configdir}/%{name}.conf | |
%config(noreplace) %{configdir}/sentinel.conf | |
%dir %attr(0755, redis, root) %{_localstatedir}/lib/%{name} | |
%dir %attr(0755, redis, root) %{_localstatedir}/log/%{name} | |
%dir %attr(0755, redis, root) %{_localstatedir}/run/%{name} | |
%{_bindir}/%{name}-* | |
%{_sbindir}/%{name}-* | |
%{_initrddir}/%{name} | |
%changelog | |
* Sat Mar 31 2012 Silas Sewell <silas@sewell.org> - 2.4.10-1 | |
- Update to redis 2.4.10 | |
* Fri Feb 24 2012 Silas Sewell <silas@sewell.org> - 2.4.8-2 | |
- Disable ppc64 for now | |
- Enable verbose builds | |
* Fri Feb 24 2012 Silas Sewell <silas@sewell.org> - 2.4.8-1 | |
- Update to redis 2.4.8 | |
* Sat Apr 23 2011 Silas Sewell <silas@sewell.ch> - 2.2.5-2 | |
- Remove google-perftools-devel | |
* Sat Apr 23 2011 Silas Sewell <silas@sewell.ch> - 2.2.5-1 | |
- Update to redis 2.2.5 | |
* Tue Oct 19 2010 Silas Sewell <silas@sewell.ch> - 2.0.3-1 | |
- Update to redis 2.0.3 | |
* Fri Oct 08 2010 Silas Sewell <silas@sewell.ch> - 2.0.2-1 | |
- Update to redis 2.0.2 | |
- Disable checks section for el5 | |
* Fri Sep 11 2010 Silas Sewell <silas@sewell.ch> - 2.0.1-1 | |
- Update to redis 2.0.1 | |
* Sat Sep 04 2010 Silas Sewell <silas@sewell.ch> - 2.0.0-1 | |
- Update to redis 2.0.0 | |
* Thu Sep 02 2010 Silas Sewell <silas@sewell.ch> - 1.2.6-3 | |
- Add Fedora build flags | |
- Send all scriplet output to /dev/null | |
- Remove debugging flags | |
- Add redis.conf check to init script | |
* Mon Aug 16 2010 Silas Sewell <silas@sewell.ch> - 1.2.6-2 | |
- Don't compress man pages | |
- Use patch to fix redis.conf | |
* Tue Jul 06 2010 Silas Sewell <silas@sewell.ch> - 1.2.6-1 | |
- Initial package |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment