M #-: add script to recreate TMPFS

pull/219/head
Alejandro Huertas 4 years ago committed by Vlastimil Holer
parent 2e487803a0
commit c68deb36c2

@ -0,0 +1,52 @@
#!/usr/bin/env bash
# -------------------------------------------------------------------------- #
# Copyright 2002-2020, OpenNebula Project, OpenNebula Systems #
# #
# Licensed under the Apache License, Version 2.0 (the "License"); you may #
# not use this file except in compliance with the License. You may obtain #
# a copy of the License at #
# #
# http://www.apache.org/licenses/LICENSE-2.0 #
# #
# Unless required by applicable law or agreed to in writing, software #
# distributed under the License is distributed on an "AS IS" BASIS, #
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #
# See the License for the specific language governing permissions and #
# limitations under the License. #
#--------------------------------------------------------------------------- #
TMP_DIR=$(mktemp -d "/tmp/one-context.XXXXXX")
# Umount the directory and remove it
cleanup()
{
[ "$MOUNT" = "yes" ] && umount "${TMP_DIR}"
rm -rf "${TMP_DIR}"
}
# Get files that should be copy from
get_files()
{
diff -qr "$1" "$2" | grep "Only in $1" | cut -d ':' -f2 | awk '{$1=$1};1'
}
if [ "${RECREATE_TMPFS^^}" = "YES" ]; then
MOUNT=yes
mount --bind -o ro / "${TMP_DIR}"
IFS=$'\n'
# Copy only files that are in /run but not in /var/run
files=$(get_files "${TMP_DIR}"/run /var/run)
for file in $files;
do
cp -pr "${TMP_DIR}"/run/"${file}" /var/run &> /dev/null
done
fi
trap cleanup EXIT
exit 0
Loading…
Cancel
Save