From 2b5fc2a966667aed1c21790319ea966711cb43a0 Mon Sep 17 00:00:00 2001 From: Bob Mottram <bob@robotics.uk.to> Date: Mon, 7 Jan 2019 23:36:17 +0000 Subject: [PATCH] Only restart rsync if needed --- src/freedombone-app-rsync | 6 ++++-- src/freedombone-utils-webadmin | 21 +++++++++++++++++---- 2 files changed, 21 insertions(+), 6 deletions(-) diff --git a/src/freedombone-app-rsync b/src/freedombone-app-rsync index 19583709e..8b51f69a3 100755 --- a/src/freedombone-app-rsync +++ b/src/freedombone-app-rsync @@ -66,8 +66,10 @@ function rsync_setting_remote { return fi - sed -i 's|read only =.*|read only = true|g' /etc/rsync/rsyncd.conf - systemctl restart rsync + if ! grep -q 'read only = true' /etc/rsync/rsyncd.conf; then + sed -i 's|read only =.*|read only = true|g' /etc/rsync/rsyncd.conf + systemctl restart rsync + fi { echo '#!/bin/bash'; echo "cd $RSYNC_DATA || exit 1"; diff --git a/src/freedombone-utils-webadmin b/src/freedombone-utils-webadmin index 259ce6ec7..63e2e9f18 100755 --- a/src/freedombone-utils-webadmin +++ b/src/freedombone-utils-webadmin @@ -862,7 +862,12 @@ function web_admin_create_installed_apps_category { # special case for rsync if [[ "$app_name" == 'rsync' ]]; then RSYNC_HOSTNAME_ONION=$(cat /var/lib/tor/hidden_service_rsync/hostname) - domain_name="torsocks rsync -avmr --delete $RSYNC_HOSTNAME_ONION::files ~/your_directory/ \&\& torsocks rsync -avmr --delete ~/your_directory/ $RSYNC_HOSTNAME_ONION::files<br><br>rsync -avmr --delete ${PROJECT_NAME}::files ~/your_directory/ \&\& rsync -avmr --delete ~/your_directory/ ${PROJECT_NAME}::files" + + if grep -q 'read only = true' /etc/rsync/rsyncd.conf; then + domain_name="torsocks rsync -avmr --delete $RSYNC_HOSTNAME_ONION::files ~/your_directory/<br><br>rsync -avmr --delete ${PROJECT_NAME}::files ~/your_directory/" + else + domain_name="torsocks rsync -avmr --delete $RSYNC_HOSTNAME_ONION::files ~/your_directory/ \&\& torsocks rsync -avmr --delete ~/your_directory/ $RSYNC_HOSTNAME_ONION::files<br><br>rsync -avmr --delete ${PROJECT_NAME}::files ~/your_directory/ \&\& rsync -avmr --delete ~/your_directory/ ${PROJECT_NAME}::files" + fi fi if [ $installed_apps_ctr -eq 0 ]; then @@ -910,10 +915,18 @@ function web_admin_create_installed_apps_category { else # do something different for rsync: show the commands to sync RSYNC_HOSTNAME_ONION=$(cat /var/lib/tor/hidden_service_rsync/hostname) - if [ ! -f /usr/local/bin/myqr ]; then - echo -n "torsocks rsync -avmr --delete $RSYNC_HOSTNAME_ONION::files ~/your_directory/ && torsocks rsync -avmr --delete ~/your_directory/ $RSYNC_HOSTNAME_ONION::files" | qrencode -t PNG -o "$webadmin_install_dir/app_qrcode_${app_name}.png" + if grep -q 'read only = true' /etc/rsync/rsyncd.conf; then + if [ ! -f /usr/local/bin/myqr ]; then + echo -n "torsocks rsync -avmr --delete $RSYNC_HOSTNAME_ONION::files ~/your_directory/" | qrencode -t PNG -o "$webadmin_install_dir/app_qrcode_${app_name}.png" + else + myqr "torsocks rsync -avmr $RSYNC_HOSTNAME_ONION::files ~/your_directory/" -p /root/freedombone/img/onion.png -c -n "$webadmin_install_dir/app_qrcode_${app_name}.png" + fi else - myqr "torsocks rsync -avmr $RSYNC_HOSTNAME_ONION::files ~/your_directory/ && torsocks rsync -avmr ~/your_directory/ $RSYNC_HOSTNAME_ONION::files" -p /root/freedombone/img/onion.png -c -n "$webadmin_install_dir/app_qrcode_${app_name}.png" + if [ ! -f /usr/local/bin/myqr ]; then + echo -n "torsocks rsync -avmr --delete $RSYNC_HOSTNAME_ONION::files ~/your_directory/ && torsocks rsync -avmr --delete ~/your_directory/ $RSYNC_HOSTNAME_ONION::files" | qrencode -t PNG -o "$webadmin_install_dir/app_qrcode_${app_name}.png" + else + myqr "torsocks rsync -avmr $RSYNC_HOSTNAME_ONION::files ~/your_directory/ && torsocks rsync -avmr ~/your_directory/ $RSYNC_HOSTNAME_ONION::files" -p /root/freedombone/img/onion.png -c -n "$webadmin_install_dir/app_qrcode_${app_name}.png" + fi fi fi fi -- GitLab