iankelling.org
/
git
/
distro-setup
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix race condition
[distro-setup]
/
system-status
diff --git
a/system-status
b/system-status
index d6db7c3eb57b351c01b97c627376f55ad424e33f..ddb5b738c28db81d1f4320ad10200de8b4f3f773 100755
(executable)
--- a/
system-status
+++ b/
system-status
@@
-45,7
+45,10
@@
write-status() {
chars+=("MAILPING!")
fi
chars+=("MAILPING!")
fi
- qlen=$(/usr/sbin/exiqgrep -o 60 -c -b | awk '{print $1}')
+ if ! qlen=$(/usr/sbin/exiqgrep -o 60 -c -b | awk '{print $1}'); then
+ # early in install process, we dont have permission yet for exiqgrep
+ qlen=$(sudo /usr/sbin/exiqgrep -o 60 -c -b | awk '{print $1}')
+ fi
if ((qlen)); then
chars+=("q $qlen")
fi
if ((qlen)); then
chars+=("q $qlen")
fi
@@
-64,6
+67,8
@@
write-status() {
if [[ -e $f ]]; then
now=$(date +%s)
fsec=$(stat -c%Y $f)
if [[ -e $f ]]; then
now=$(date +%s)
fsec=$(stat -c%Y $f)
+ # the / 60 makes it 0-59 seconds less strict, +1 makes sure we
+ # dont have any false positives.
fmin=$(( (fsec - now ) / 60 + 1 ))
fminplus=$(( fmin + 60*24 ))
# Filesystem files get copied, so find any newer than the last run.
fmin=$(( (fsec - now ) / 60 + 1 ))
fminplus=$(( fmin + 60*24 ))
# Filesystem files get copied, so find any newer than the last run.
@@
-78,6
+83,7
@@
write-status() {
if grep -qxF $HOSTNAME $x; then all_dirs+=( ${x%.hosts} ); fi
done
if grep -qxF $HOSTNAME $x; then all_dirs+=( ${x%.hosts} ); fi
done
+ # just because i forget a lot, -mmin -NUM means files modified <= NUM minutes ago
if (( $(date -d "$(git log --diff-filter=ACR --format=%aD -1)" +%s) > fsec )) || \
[[ $(find ${all_dirs[@]} -mmin $fmin -type f -print -quit 2>/dev/null) ]]; then
v conflink newer git or newer filesystem files
if (( $(date -d "$(git log --diff-filter=ACR --format=%aD -1)" +%s) > fsec )) || \
[[ $(find ${all_dirs[@]} -mmin $fmin -type f -print -quit 2>/dev/null) ]]; then
v conflink newer git or newer filesystem files