mirror of
https://github.com/nextcloud/docker.git
synced 2025-04-21 03:06:08 +02:00
use flock automatic lock for upgrade
fix #1756 fix #1903 Signed-off-by: Adam Monsen <haircut@gmail.com>
This commit is contained in:
parent
f49b1edcaa
commit
e1cf8e6bc1
1 changed files with 6 additions and 9 deletions
|
@ -124,15 +124,15 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UP
|
||||||
rsync_options="-rlD"
|
rsync_options="-rlD"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Prevent multiple images syncing simultaneously:
|
||||||
# If another process is syncing the html folder, wait for
|
# If another process is syncing the html folder, wait for
|
||||||
# it to be done, then escape initalization.
|
# it to be done, then escape initalization
|
||||||
# You need to define the NEXTCLOUD_INIT_LOCK environment variable
|
|
||||||
lock=/var/www/html/nextcloud-init-sync.lock
|
|
||||||
count=0
|
count=0
|
||||||
limit=10
|
limit=10
|
||||||
|
|
||||||
if [ -f "$lock" ] && [ -n "${NEXTCLOUD_INIT_LOCK+x}" ]; then
|
(
|
||||||
until [ ! -f "$lock" ] || [ "$count" -gt "$limit" ]
|
if ! flock -n 9; then
|
||||||
|
until flock -n 9 || [ "$count" -gt "$limit" ]
|
||||||
do
|
do
|
||||||
count=$((count+1))
|
count=$((count+1))
|
||||||
wait=$((count*10))
|
wait=$((count*10))
|
||||||
|
@ -145,8 +145,6 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UP
|
||||||
fi
|
fi
|
||||||
echo "The other process is done, assuming complete initialization"
|
echo "The other process is done, assuming complete initialization"
|
||||||
else
|
else
|
||||||
# Prevent multiple images syncing simultaneously
|
|
||||||
touch $lock
|
|
||||||
rsync $rsync_options --delete --exclude-from=/upgrade.exclude /usr/src/nextcloud/ /var/www/html/
|
rsync $rsync_options --delete --exclude-from=/upgrade.exclude /usr/src/nextcloud/ /var/www/html/
|
||||||
|
|
||||||
for dir in config data custom_apps themes; do
|
for dir in config data custom_apps themes; do
|
||||||
|
@ -234,10 +232,9 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UP
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Initialization done, reset lock
|
|
||||||
rm $lock
|
|
||||||
echo "Initializing finished"
|
echo "Initializing finished"
|
||||||
fi
|
fi
|
||||||
|
) 9> /var/lock/nextcloud-init-sync.lock
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Update htaccess after init if requested
|
# Update htaccess after init if requested
|
||||||
|
|
Loading…
Add table
Reference in a new issue