From 6fa91c2530f96b9736c4130c78761cc72603dbfd Mon Sep 17 00:00:00 2001 From: Ryan Faircloth <35384120+rfaircloth-splunk@users.noreply.github.com> Date: Tue, 23 Jun 2020 11:04:40 -0400 Subject: [PATCH] Address race condition where shell can write new file before read of old is complete (#541) Fixes #539 --- package/sbin/entrypoint.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/package/sbin/entrypoint.sh b/package/sbin/entrypoint.sh index 803c5af..b4aa338 100755 --- a/package/sbin/entrypoint.sh +++ b/package/sbin/entrypoint.sh @@ -46,7 +46,9 @@ if [ -f /opt/syslog-ng/etc/conf.d/local/context/splunk_index.csv ]; then LEGACY_SPLUNK_INDEX_FILE=/opt/syslog-ng/etc/conf.d/local/context/splunk_index.csv fi # Add new entries -awk '{print $0}' ${LEGACY_SPLUNK_INDEX_FILE} /opt/syslog-ng/etc/conf.d/local/context/splunk_metadata.csv /opt/syslog-ng/etc/context_templates/splunk_metadata.csv.example | grep -v '^#' | sort -b -t ',' -k1,2 -u > /opt/syslog-ng/etc/conf.d/local/context/splunk_metadata.csv +temp_file=$(mktemp) +awk '{print $0}' ${LEGACY_SPLUNK_INDEX_FILE} /opt/syslog-ng/etc/conf.d/local/context/splunk_metadata.csv /opt/syslog-ng/etc/context_templates/splunk_metadata.csv.example | grep -v '^#' | sort -b -t ',' -k1,2 -u > $temp_file +cp -f $temp_file /opt/syslog-ng/etc/conf.d/local/context/splunk_metadata.csv # We don't need this file any longer rm -f /opt/syslog-ng/etc/conf.d/local/context/splunk_index.csv.example || true if [ -f /opt/syslog-ng/etc/conf.d/local/context/splunk_index.csv ]; then