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…
Reference in new issue