diff options
author | nachoparker <nacho@ownyourbits.com> | 2018-03-04 18:20:01 +0300 |
---|---|---|
committer | nachoparker <nacho@ownyourbits.com> | 2018-03-04 20:15:24 +0300 |
commit | e912749dc66760cd1be2568caf45c85dae2fdcd1 (patch) | |
tree | 3511e60069dcc564315b60d5425a183eded489fc | |
parent | a076fb5675e790351209939b0b5f3a653733efa9 (diff) |
nc-ramlogs: change implementation to use log2ramv0.46.39
-rw-r--r-- | changelog.md | 6 | ||||
-rw-r--r-- | etc/nextcloudpi-config.d/nc-ramlogs.sh | 60 | ||||
-rwxr-xr-x | update.sh | 38 |
3 files changed, 46 insertions, 58 deletions
diff --git a/changelog.md b/changelog.md index 9c19fdb3..16ab4a8c 100644 --- a/changelog.md +++ b/changelog.md @@ -1,7 +1,9 @@ -[v0.46.38](https://github.com/nextcloud/nextcloudpi/commit/1746a25) (2018-03-04) disable ncp user login +[v0.46.39](https://github.com/nextcloud/nextcloudpi/commit/ce08276) (2018-03-04) nc-ramlogs: change implementation to use log2ram -[v0.46.37](https://github.com/nextcloud/nextcloudpi/commit/fb32cf9) (2018-03-03) nc-automount: fix dependencies +[v0.46.38](https://github.com/nextcloud/nextcloudpi/commit/2b1fa11) (2018-03-04) disable ncp user login + +[v0.46.37](https://github.com/nextcloud/nextcloudpi/commit/78cdce5) (2018-03-03) nc-automount: fix dependencies [v0.46.36](https://github.com/nextcloud/nextcloudpi/commit/33fae1f) (2018-03-03) build: fix systemd dir not existing diff --git a/etc/nextcloudpi-config.d/nc-ramlogs.sh b/etc/nextcloudpi-config.d/nc-ramlogs.sh index 88b48828..3cf2a285 100644 --- a/etc/nextcloudpi-config.d/nc-ramlogs.sh +++ b/etc/nextcloudpi-config.d/nc-ramlogs.sh @@ -18,57 +18,33 @@ ACTIVE_=no DESCRIPTION="mount logs in RAM to prevent SD degradation (faster, consumes more RAM)" INFOTITLE="Warning" -INFO="If you are installing software other than NextCloud -that creates folders under '/var/log/' disable this feature" +INFO="You need to reboot for this change to take effect" + +install() +{ + curl -Lo log2ram.tar.gz https://github.com/azlux/log2ram/archive/master.tar.gz + tar xf log2ram.tar.gz + cd log2ram-master + chmod +x install.sh && sudo ./install.sh + cd .. + rm -r log2ram-master log2ram.tar.gz + rm /etc/cron.hourly/log2ram /usr/local/bin/uninstall-log2ram.sh +} configure() { [[ $ACTIVE_ != "yes" ]] && { - sed -i '/tmpfs \/var\/log.* in RAM$/d' /etc/fstab - sed -i '/tmpfs \/tmp.* in RAM$/d' /etc/fstab - echo "Logs in SD. Reboot for changes to take effect" + systemctl disable log2ram + systemctl stop log2ram + echo "Logs in SD. Reboot to take effect" return } + systemctl enable log2ram + systemctl start log2ram - grep -q "Logs in RAM" /etc/fstab || cat >> /etc/fstab <<EOF -tmpfs /var/log tmpfs defaults,noatime,mode=1777,size=100M 0 0 # Logs in RAM -tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0 # /tmp in RAM -EOF - - # unit to recreate required logdirs - mkdir -p /usr/lib/systemd/system - cat > /usr/lib/systemd/system/ramlogs.service <<'EOF' -[Unit] -Description=Populate ramlogs dir -Requires=network.target -Before=redis-server.service apache2.service mysqld.service - -[Service] -ExecStart=/bin/bash /usr/local/bin/ramlog-dirs.sh - -[Install] -WantedBy=multi-user.target -EOF - - cat > /usr/local/bin/ramlog-dirs.sh <<'EOF' -#!/bin/bash -mkdir -p /var/log/mysql -chown mysql /var/log/mysql - -mkdir -p /var/log/apache2 -chown www-data /var/log/apache2 - -mkdir -p /var/log/redis -chown redis /var/log/redis -EOF - systemctl enable ramlogs - - grep -q vm.swappiness /etc/sysctl.conf || echo "vm.swappiness = 10" >> /etc/sysctl.conf && sysctl --load - echo "Logs in RAM. Reboot for changes to take effect" + echo "Logs in RAM. Reboot to take effect" } -install() { :; } - # License # # This script is free software; you can redistribute it and/or modify it @@ -100,11 +100,11 @@ for file in etc/nextcloudpi-config.d/*; do done # install localization files -cp -rT etc/nextcloudpi-config.d/l10n /usr/local/etc/nextcloudpi-config.d/l10n +cp -rT etc/nextcloudpi-config.d/l10n "$CONFDIR"/l10n # these files can contain sensitive information, such as passwords -chown -R root:www-data /usr/local/etc/nextcloudpi-config.d -chmod 660 /usr/local/etc/nextcloudpi-config.d/* +chown -R root:www-data "$CONFDIR" +chmod 660 "$CONFDIR"/* # install web interface cp -r ncp-web /var/www/ @@ -124,17 +124,17 @@ done [[ ! -f /.ncp-image ]] && { # update ncp-backup - cd /usr/local/etc/nextcloudpi-config.d &>/dev/null + cd "$CONFDIR" &>/dev/null install_script nc-backup.sh cd - &>/dev/null # update ncp-backup-auto - cd /usr/local/etc/nextcloudpi-config.d &>/dev/null + cd "$CONFDIR" &>/dev/null install_script nc-backup-auto.sh cd - &>/dev/null # refresh nc-backup-auto - cd /usr/local/etc/nextcloudpi-config.d &>/dev/null + cd "$CONFDIR" &>/dev/null grep -q '^ACTIVE_=yes$' nc-backup-auto.sh && activate_script nc-backup-auto.sh cd - &>/dev/null @@ -189,7 +189,6 @@ ExecStart=/bin/bash /usr/local/bin/ncp-provisioning.sh [Install] WantedBy=multi-user.target EOF - systemctl enable nc-provisioning NEED_UPDATE=false @@ -219,8 +218,7 @@ EOF # adjust services systemctl mask nfs-blkmap - grep -q '^ACTIVE_=yes$' /usr/local/etc/nextcloudpi-config.d/samba.sh || \ - update-rc.d nmbd disable + grep -q '^ACTIVE_=yes$' "$CONFDIR"/samba.sh || update-rc.d nmbd disable # fix automount dependencies with other ncp-apps sed -i \ @@ -231,11 +229,6 @@ EOF 's|^Before=.*|Before=nc-automount.service|' \ /usr/lib/systemd/system/nc-automount-links.service - # fix ramlogs dependencies with other ncp-apps - sed -i \ - 's|^Before=.*|Before=redis-server.service apache2.service mysqld.service|' \ - /usr/lib/systemd/system/ramlogs.service - # adjust when other services start DBUNIT=/lib/systemd/system/mariadb.service F2BUNIT=/lib/systemd/system/fail2ban.service @@ -247,6 +240,23 @@ EOF # disable ncp user login chsh -s /usr/sbin/nologin ncp + # remove old instance of ramlogs + [[ -f /usr/lib/systemd/system/ramlogs.service ]] && { + systemctl disable ramlogs + rm -f /usr/lib/systemd/system/ramlogs.service /usr/local/bin/ramlog-dirs.sh + } + sed -i '/tmpfs \/var\/log.* in RAM$/d' /etc/fstab + sed -i '/tmpfs \/tmp.* in RAM$/d' /etc/fstab + + # update ramlogs with log2ram + type log2ram &>/dev/null || { + cd "$CONFDIR" &>/dev/null + install_script nc-ramlogs.sh &>/dev/null + grep -q '^ACTIVE_=yes$' "$CONFDIR"/nc-ramlogs.sh && \ + systemctl enable log2ram + cd - &>/dev/null + } + } # end - only live updates exit 0 |