<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://infocepo.com/index.php?action=history&amp;feed=atom&amp;title=ServerDiff.sh</id>
	<title>ServerDiff.sh - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://infocepo.com/index.php?action=history&amp;feed=atom&amp;title=ServerDiff.sh"/>
	<link rel="alternate" type="text/html" href="https://infocepo.com/wiki/index.php?title=ServerDiff.sh&amp;action=history"/>
	<updated>2026-10-25T22:09:33Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://infocepo.com/wiki/index.php?title=ServerDiff.sh&amp;diff=1109&amp;oldid=prev</id>
		<title>Tcepo at 11:14, 14 August 2022</title>
		<link rel="alternate" type="text/html" href="https://infocepo.com/wiki/index.php?title=ServerDiff.sh&amp;diff=1109&amp;oldid=prev"/>
		<updated>2022-08-14T11:14:53Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 11:14, 14 August 2022&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l2&quot;&gt;Line 2:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 2:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;#!/bin/bash&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;#!/bin/bash&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# diff entre serveurs&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# diff entre serveurs&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# &quot;serverCheck&quot; [srv1 srv2 ... srvn]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# &quot;serverCheck&quot; [srv1 srv2 ... srvn&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;] [ref1 ref2 ... refn&lt;/ins&gt;]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# APA 20180325&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# APA 20180325&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# APA 20190419 refactory&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# APA 20190419 refactory&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Tcepo</name></author>
	</entry>
	<entry>
		<id>https://infocepo.com/wiki/index.php?title=ServerDiff.sh&amp;diff=813&amp;oldid=prev</id>
		<title>Tcepo: Created page with &quot;&lt;syntaxhighlight lang=&quot;bash&quot;&gt; #!/bin/bash # diff entre serveurs # &quot;serverCheck&quot; [srv1 srv2 ... srvn] # APA 20180325 # APA 20190419 refactory # APA 20191107 clean # APA 2021102...&quot;</title>
		<link rel="alternate" type="text/html" href="https://infocepo.com/wiki/index.php?title=ServerDiff.sh&amp;diff=813&amp;oldid=prev"/>
		<updated>2022-02-26T05:44:40Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt; #!/bin/bash # diff entre serveurs # &amp;quot;serverCheck&amp;quot; [srv1 srv2 ... srvn] # APA 20180325 # APA 20190419 refactory # APA 20191107 clean # APA 2021102...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# diff entre serveurs&lt;br /&gt;
# &amp;quot;serverCheck&amp;quot; [srv1 srv2 ... srvn]&lt;br /&gt;
# APA 20180325&lt;br /&gt;
# APA 20190419 refactory&lt;br /&gt;
# APA 20191107 clean&lt;br /&gt;
# APA 20211020 improve file and link check&lt;br /&gt;
&lt;br /&gt;
# initialisation des variables&lt;br /&gt;
  serverCheck=&amp;quot;$1&amp;quot;&lt;br /&gt;
  serverRef=&amp;quot;$2&amp;quot;&lt;br /&gt;
  if [ -z &amp;quot;${serverRef}&amp;quot; ]  ;then&lt;br /&gt;
    $0 &amp;quot;$1&amp;quot; &amp;quot;$(hostList.sh all |grep -vEx &amp;quot;$(hostList.sh &amp;quot;$1&amp;quot;)&amp;quot; |shuf |head -7 |tr &amp;#039;\n&amp;#039; &amp;#039; &amp;#039; )&amp;quot;&lt;br /&gt;
    exit 0&lt;br /&gt;
  fi&lt;br /&gt;
  baseDir=&amp;quot;$(realpath &amp;quot;$(dirname $0)&amp;quot;/..)&amp;quot;&lt;br /&gt;
  cacheFile=/tmp/&amp;quot;$(basename $0)&amp;quot;$$&lt;br /&gt;
  logFile=&amp;quot;${baseDir}&amp;quot;/log/&amp;quot;$(echo &amp;quot;${serverCheck}&amp;quot; | tr -c &amp;#039;[:alnum:]&amp;#039; &amp;#039;_&amp;#039; | cut -c 1-68 )&amp;quot;VS&amp;quot;$(echo &amp;quot;${serverRef}&amp;quot; | tr -c &amp;#039;[:alnum:]&amp;#039; &amp;#039;_&amp;#039; | cut -c 1-68 )&amp;quot;.$(date -u &amp;#039;+%Y-%m-%dT%H_%M_%SZ&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
(&lt;br /&gt;
echo &amp;#039;&amp;quot;&amp;#039;${serverCheck}&amp;#039;&amp;quot; VS &amp;quot;&amp;#039;${serverRef}&amp;#039;&amp;quot;&amp;#039;&lt;br /&gt;
echo&lt;br /&gt;
echo ${logFile} &amp;gt;&amp;amp;2&lt;br /&gt;
echo &amp;gt;&amp;amp;2&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;= HW diff =&amp;quot;&lt;br /&gt;
#  diff.sh &amp;quot;${serverCheck}&amp;quot; &amp;quot;${serverRef}&amp;quot; &amp;#039;dmidecode&amp;#039;&lt;br /&gt;
echo &amp;quot;== CPU power audit ==&amp;quot;&lt;br /&gt;
 diff.sh &amp;quot;${serverCheck}&amp;quot; &amp;quot;${serverRef}&amp;quot; &amp;#039;lscpu |grep -E &amp;quot;^CPU\(s\):|^BogoMIPS:&amp;quot; |awk &amp;quot;BEGIN{val=1};{val = val*\$2};END{print int(val/1000)}&amp;quot;&amp;#039;&lt;br /&gt;
echo &amp;quot;== memory ==&amp;quot;&lt;br /&gt;
 diff.sh &amp;quot;${serverCheck}&amp;quot; &amp;quot;${serverRef}&amp;quot; &amp;#039;free -h |grep -iE &amp;quot;^Mem:|^Swap:&amp;quot; |sed -rn &amp;quot;s#^((Mem|Swap):[[:space:]]+[[:graph:]]+).*#\1#p&amp;quot;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
echo&lt;br /&gt;
echo &amp;quot;= Kernel diff =&amp;quot;&lt;br /&gt;
  diff.sh &amp;quot;${serverCheck}&amp;quot; &amp;quot;${serverRef}&amp;quot; &amp;#039;uname -r&amp;#039;&lt;br /&gt;
&lt;br /&gt;
echo&lt;br /&gt;
echo &amp;quot;= partitions diff =&amp;quot;&lt;br /&gt;
#  diff.sh &amp;quot;${serverCheck}&amp;quot; &amp;quot;${serverRef}&amp;quot; &amp;#039;cat /proc/partitions |sed -rn &amp;quot;s#.* ([[:graph:]]+) ([[:graph:]]+)\$#\1 \2#p&amp;quot;&amp;#039;&lt;br /&gt;
#  diff.sh &amp;quot;${serverCheck}&amp;quot; &amp;quot;${serverRef}&amp;quot; &amp;#039;mount |grep ^/dev/ |cut -d&amp;#039; &amp;#039; -f3 |grep -vwE &amp;#039;^/(mnt|media)&amp;#039; |while read lineMy ;do df -h &amp;quot;${lineMy}&amp;quot; ;done |sed -rn &amp;quot;s#^[[:graph:]]+[[:space:]]+([[:graph:]]+) [^/]+(/.*)\$#\1 \2#p&amp;quot;&amp;#039;&lt;br /&gt;
#  diff.sh &amp;quot;${serverCheck}&amp;quot; &amp;quot;${serverRef}&amp;quot; &amp;quot;mount |grep -E &amp;#039;vg_root|rhel_&amp;#039; |grep ^/dev/ |cut -d&amp;#039; &amp;#039; -f3 |grep -vwE &amp;#039;^/(mnt|media)&amp;#039; |while read lineMy ;do df -h \${lineMy} ;done |sed -rn &amp;#039;s#^[[:graph:]]+[[:space:]]+([[:graph:]]+) [^/]+(/.*)\$#\1 \2#p&amp;#039;&amp;quot;&lt;br /&gt;
  diff.sh &amp;quot;${serverCheck}&amp;quot; &amp;quot;${serverRef}&amp;quot; &amp;quot;mount |grep ^/dev/ |cut -d&amp;#039; &amp;#039; -f3 |grep -vwE &amp;#039;^/(mnt|media)&amp;#039; |while read lineMy ;do df -h \${lineMy} ;done |sed -rn &amp;#039;s#^[[:graph:]]+[[:space:]]+([[:graph:]]+) [^/]+(/.*)\$#\1 \2#p&amp;#039;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#echo&lt;br /&gt;
#echo &amp;quot;= FS diff =&amp;quot;&lt;br /&gt;
#  diff.sh &amp;quot;${serverCheck}&amp;quot; &amp;quot;${serverRef}&amp;quot; &amp;#039;xfs_info /&amp;#039;&lt;br /&gt;
&lt;br /&gt;
echo&lt;br /&gt;
echo &amp;quot;= RMP diff =&amp;quot;&lt;br /&gt;
  diff.sh &amp;quot;${serverCheck}&amp;quot; &amp;quot;${serverRef}&amp;quot; &amp;#039;rpm -qa --qf &amp;quot;%{n}.%{arch}\n&amp;quot; |sed -r &amp;quot;s#\.(noarch|x86_64)\$##&amp;quot; |sort -u&amp;#039;&lt;br /&gt;
&lt;br /&gt;
echo&lt;br /&gt;
echo &amp;quot;= services =&amp;quot;&lt;br /&gt;
  diff.sh &amp;quot;${serverCheck}&amp;quot; &amp;quot;${serverRef}&amp;quot; &amp;#039;(systemctl list-unit-files 2&amp;gt;/dev/null |sort -u ;chkconfig --list 2&amp;gt;/dev/null |sort -u ) |grep -Ev &amp;quot;^session-|^user-&amp;quot; |grep -Ew &amp;quot;enabled|on&amp;quot; |sed -rn &amp;quot;s#^[[:space:]]*([[:graph:]]+)[[:space:]].*\$#\1#p&amp;quot; |sed -r &amp;quot;s#(\.service|\.target|\.socket)##g&amp;quot;&amp;#039; 2&amp;gt;/dev/null&lt;br /&gt;
&lt;br /&gt;
&amp;gt;&amp;amp;2 echo&lt;br /&gt;
&amp;gt;&amp;amp;2 echo &amp;quot;# listing files diff step&amp;quot;&lt;br /&gt;
&amp;gt;&amp;amp;2 echo &amp;quot;## listing cfg files&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  echo&lt;br /&gt;
  echo &amp;quot;= files =&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# missing recent after boot&lt;br /&gt;
&lt;br /&gt;
cat &amp;lt;&amp;lt;EOT &amp;gt;&amp;quot;${cacheFile}&amp;quot;.sh&lt;br /&gt;
uptimeDays=\$(((\$(date +%s) - \$(date -d&amp;quot;\$(who -b |sed &amp;#039;s# *system boot *##&amp;#039;)&amp;quot; +%s))/86400+1))&lt;br /&gt;
uptimeDays0=\$(((\$(date +%s) - \$(date -d&amp;quot;\$(who -b |sed &amp;#039;s# *system boot *##&amp;#039;)&amp;quot; +%s))/86400-1))&lt;br /&gt;
sync&lt;br /&gt;
(&lt;br /&gt;
  #find /boot -type f -size -9k -mmin +60 2&amp;gt;/dev/null&lt;br /&gt;
  find /etc ! -path &amp;#039;/etc/lvm/backup/*&amp;#039; ! -path &amp;#039;/etc/lvm/archive/*&amp;#039; -type f -atime -\$uptimeDays -size -9k -mmin +6 -exec grep -Iq . {} \\; -and -print 2&amp;gt;/dev/null |head -4096&lt;br /&gt;
  #find /etc ! -path &amp;#039;/etc/lvm/backup/*&amp;#039; ! -path &amp;#039;/etc/lvm/archive/*&amp;#039; -type f -atime -1 -size -9k -mmin +6 2&amp;gt;/dev/null&lt;br /&gt;
  timeout --signal=9 16 find \$(mount |grep ^/dev/ |grep -E &amp;quot;vg_root|rhel_&amp;quot; |cut -d&amp;#039; &amp;#039; -f3 |grep -vwE &amp;#039;^/(mnt|media)&amp;#039; ) \&lt;br /&gt;
   -xdev ! -path &amp;#039;*/log/*&amp;#039; ! -path &amp;#039;/boot/*&amp;#039; ! -path &amp;#039;/etc/*&amp;#039; ! -path &amp;#039;/var/lib/*&amp;#039; -type f -atime -\$uptimeDays -size -9k -mmin +6 -exec grep -Iq . {} \\; -and -print 2&amp;gt;/dev/null \&lt;br /&gt;
   |grep -vwEi &amp;#039;(log|logs|deb|dpkg|rpm|yum|cache|tmp|bash_history|old|bck|back)&amp;#039; |head -8192&lt;br /&gt;
  #timeout --signal=9 12 find \$(mount |grep ^/dev/ |grep -E &amp;quot;vg_root|rhel_&amp;quot; |cut -d&amp;#039; &amp;#039; -f3 |grep -vwE &amp;#039;^/(mnt|media)&amp;#039; ) \&lt;br /&gt;
   -xdev ! -path &amp;#039;*/log/*&amp;#039; ! -path &amp;#039;/boot/*&amp;#039; ! -path &amp;#039;/etc/*&amp;#039; ! -path &amp;#039;/var/lib/*&amp;#039; -type f -atime -1 -size -9k -mmin +6 2&amp;gt;/dev/null \&lt;br /&gt;
   |grep -vwEi &amp;#039;(log|logs|deb|dpkg|rpm|yum|cache|tmp|bash_history|old|bck|back)&amp;#039; |head -2048&lt;br /&gt;
  timeout --signal=9 16 find \$(mount |grep ^/dev/ |grep -vE &amp;quot;vg_root|rhel_&amp;quot; |cut -d&amp;#039; &amp;#039; -f3 |grep -vwE &amp;#039;^/(mnt|media)&amp;#039; ) \&lt;br /&gt;
   -xdev ! -path &amp;#039;*/log/*&amp;#039; ! -path &amp;#039;/boot/*&amp;#039; ! -path &amp;#039;/etc/*&amp;#039; ! -path &amp;#039;/var/lib/*&amp;#039; -type f -atime -\$uptimeDays -size -9k -mmin +6 -exec grep -Iq . {} \\; -and -print 2&amp;gt;/dev/null \&lt;br /&gt;
   |grep -vwEi &amp;#039;(log|logs|deb|dpkg|rpm|yum|cache|tmp|bash_history|old|bck|back|trace)&amp;#039; |head -8192&lt;br /&gt;
  #timeout --signal=9 12 find \$(mount |grep ^/dev/ |grep -vE &amp;quot;vg_root|rhel_&amp;quot; |cut -d&amp;#039; &amp;#039; -f3 |grep -vwE &amp;#039;^/(mnt|media)&amp;#039; ) \&lt;br /&gt;
   -xdev ! -path &amp;#039;*/log/*&amp;#039; ! -path &amp;#039;/boot/*&amp;#039; ! -path &amp;#039;/etc/*&amp;#039; ! -path &amp;#039;/var/lib/*&amp;#039; -type f -atime -1 -size -9k -mmin +6 2&amp;gt;/dev/null \&lt;br /&gt;
   |grep -vwEi &amp;#039;(log|logs|deb|dpkg|rpm|yum|cache|tmp|bash_history|old|bck|back|trace)&amp;#039; |head -2048&lt;br /&gt;
)|grep -vE &amp;#039;(\\.rpmnew|\\.rpmsave|-|~)\$&amp;#039; |sort -u |tee /tmp/cfgList&lt;br /&gt;
EOT&lt;br /&gt;
&lt;br /&gt;
  .scriptDiff.sh &amp;quot;${serverCheck}&amp;quot; &amp;quot;${serverRef}&amp;quot; &amp;quot;${cacheFile}&amp;quot;.sh |grep -v &amp;quot;^==&amp;quot; |awk &amp;#039;!seen[$0]++&amp;#039; &amp;gt;&amp;quot;${cacheFile}&amp;quot;.missing&lt;br /&gt;
&lt;br /&gt;
# cp missing recent after boot&lt;br /&gt;
( echo &amp;quot;cat &amp;lt;&amp;lt;EOT &amp;gt;/tmp/cfgList-missing&amp;quot;&lt;br /&gt;
  cat &amp;quot;${cacheFile}&amp;quot;.missing&lt;br /&gt;
  echo &amp;quot;EOT&amp;quot;) &amp;gt;&amp;quot;${cacheFile}&amp;quot;.missing2&lt;br /&gt;
  mv -f &amp;quot;${cacheFile}&amp;quot;.missing2 &amp;quot;${cacheFile}&amp;quot;.missing&lt;br /&gt;
  script.sh &amp;quot;${serverCheck} ${serverRef}&amp;quot; &amp;quot;${cacheFile}&amp;quot;.missing&lt;br /&gt;
&lt;br /&gt;
# missing infra&lt;br /&gt;
  diff.sh &amp;quot;${serverCheck}&amp;quot; &amp;quot;${serverRef}&amp;quot; &amp;#039;cat /tmp/cfgList-missing |while read fileName ;do [ -f &amp;quot;${fileName}&amp;quot; ] &amp;amp;&amp;amp;[ ! -L &amp;quot;${fileName}&amp;quot; ] &amp;amp;&amp;amp;(echo &amp;quot;${fileName}&amp;quot; ) ;done ;rm -f /tmp/cfgList-missing&amp;#039;&lt;br /&gt;
# \&lt;br /&gt;
#    |grep -vxf &amp;quot;${baseDir}&amp;quot;/system_restore/rsync.list&lt;br /&gt;
&lt;br /&gt;
&amp;gt;&amp;amp;2 echo&lt;br /&gt;
&amp;gt;&amp;amp;2 echo &amp;quot;# calculing md5sum&amp;quot;&lt;br /&gt;
  ssh.sh &amp;quot;${serverCheck} ${serverRef}&amp;quot; &amp;#039;cat /tmp/cfgList |while read fileName ;do md5sum &amp;quot;${fileName}&amp;quot; 2&amp;gt;/dev/null ||sudo -n md5sum &amp;quot;${fileName}&amp;quot; 2&amp;gt;/dev/null ;done &amp;#039; &amp;gt;&amp;quot;${cacheFile}&amp;quot;.md5sum&lt;br /&gt;
&lt;br /&gt;
# cfg diff details if &amp;gt;=2 cfg&lt;br /&gt;
&amp;gt;&amp;amp;2 echo &amp;quot;# formating&amp;quot;&lt;br /&gt;
cat &amp;quot;${cacheFile}&amp;quot;.md5sum \&lt;br /&gt;
  |grep -v &amp;quot;^==.*==$&amp;quot; \&lt;br /&gt;
    |awk &amp;#039;!seen[$0]++&amp;#039; \&lt;br /&gt;
      |sed -r &amp;#039;s/^[0-9a-zA-Z]+ +//&amp;#039; \&lt;br /&gt;
        &amp;gt;&amp;quot;${cacheFile}&amp;quot;.files&lt;br /&gt;
&lt;br /&gt;
&amp;gt;&amp;amp;2 echo &amp;quot;# removing uniq files&amp;quot;&lt;br /&gt;
awk &amp;#039;NR == FNR {count[$0]++; next}; count[$0] &amp;gt;= 2&amp;#039; &amp;quot;${cacheFile}&amp;quot;.files &amp;quot;${cacheFile}&amp;quot;.files \&lt;br /&gt;
  |sort -ru &amp;gt;&amp;quot;${cacheFile}&amp;quot;.diff&lt;br /&gt;
#    |grep -vxf &amp;quot;${baseDir}&amp;quot;/system_restore/rsync.list &amp;gt;&amp;quot;${cacheFile}&amp;quot;.diff&lt;br /&gt;
&lt;br /&gt;
echo&lt;br /&gt;
echo &amp;quot;= diff cfg =&amp;quot;&lt;br /&gt;
while [ -s &amp;quot;${cacheFile}&amp;quot;.diff ] ;do&lt;br /&gt;
  fileName=&amp;quot;$(tail -1 &amp;quot;${cacheFile}&amp;quot;.diff)&amp;quot;&lt;br /&gt;
  sed -i &amp;#039;$ d&amp;#039; &amp;quot;${cacheFile}&amp;quot;.diff&lt;br /&gt;
&lt;br /&gt;
  timeout --signal=9 45 diff.sh &amp;quot;${serverCheck}&amp;quot; &amp;quot;${serverRef}&amp;quot; &amp;#039;grep -x &amp;quot;&amp;#039;&amp;quot;${fileName}&amp;quot;&amp;#039;&amp;quot; /tmp/cfgList 2&amp;gt;/dev/null &amp;gt;/dev/null &amp;amp;&amp;amp;( ls -dZ &amp;quot;&amp;#039;&amp;quot;${fileName}&amp;quot;&amp;#039;&amp;quot; ;cat &amp;quot;&amp;#039;&amp;quot;${fileName}&amp;quot;&amp;#039;&amp;quot; ||sudo -n cat &amp;quot;&amp;#039;&amp;quot;${fileName}&amp;quot;&amp;#039;&amp;quot; )|grep -vE &amp;quot;^[[:space:]]*#&amp;quot;&amp;#039; |grep -v &amp;#039; no result ==$&amp;#039; |\&lt;br /&gt;
  awk -v titleStart=&amp;quot;===&amp;quot; &amp;#039;{if ($1 == titleStart)&lt;br /&gt;
    title=$0 ;&lt;br /&gt;
  else&lt;br /&gt;
    {if (title != &amp;quot;&amp;quot;)&lt;br /&gt;
      print title ;&lt;br /&gt;
    title=&amp;quot;&amp;quot; ;&lt;br /&gt;
    print $0 ;}}&amp;#039; &amp;gt;&amp;quot;${cacheFile}&amp;quot;.result&lt;br /&gt;
  if [[ $(cat &amp;quot;${cacheFile}&amp;quot;.result |wc -l) -ge 2 ]] ;then&lt;br /&gt;
    echo&lt;br /&gt;
    echo &amp;quot;= ${fileName} =&amp;quot;&lt;br /&gt;
    cat &amp;quot;${cacheFile}&amp;quot;.result&lt;br /&gt;
  fi&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
&amp;gt;&amp;amp;2 echo&lt;br /&gt;
&amp;gt;&amp;amp;2 echo &amp;quot;# listing links diff step&amp;quot;&lt;br /&gt;
&amp;gt;&amp;amp;2 echo &amp;quot;## listing links&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  echo&lt;br /&gt;
  echo &amp;quot;= links =&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# missing recent after boot&lt;br /&gt;
cat &amp;lt;&amp;lt;EOT &amp;gt;&amp;quot;${cacheFile}&amp;quot;.sh&lt;br /&gt;
uptimeDays=\$(((\$(date +%s) - \$(date -d&amp;quot;\$(who -b |sed &amp;#039;s# *system boot *##&amp;#039;)&amp;quot; +%s))/86400+1))&lt;br /&gt;
(&lt;br /&gt;
  find /etc ! -path &amp;#039;/etc/lvm/backup/*&amp;#039; ! -path &amp;#039;/etc/lvm/archive/*&amp;#039; -type l -atime -\$uptimeDays 2&amp;gt;/dev/null&lt;br /&gt;
)|grep -vE &amp;#039;(-|~)\$&amp;#039; |sort -u |tee /tmp/linksList&lt;br /&gt;
EOT&lt;br /&gt;
&lt;br /&gt;
  .scriptDiff.sh &amp;quot;${serverCheck}&amp;quot; &amp;quot;${serverRef}&amp;quot; &amp;quot;${cacheFile}&amp;quot;.sh |grep -v &amp;quot;^==&amp;quot; |awk &amp;#039;!seen[$0]++&amp;#039; &amp;gt;&amp;quot;${cacheFile}&amp;quot;.missing&lt;br /&gt;
&lt;br /&gt;
# cp missing recent after boot&lt;br /&gt;
( echo &amp;quot;cat &amp;lt;&amp;lt;EOT &amp;gt;/tmp/linksList-missing&amp;quot;&lt;br /&gt;
  cat &amp;quot;${cacheFile}&amp;quot;.missing&lt;br /&gt;
  echo &amp;quot;EOT&amp;quot;) &amp;gt;&amp;quot;${cacheFile}&amp;quot;.missing2&lt;br /&gt;
  mv &amp;quot;${cacheFile}&amp;quot;.missing2 &amp;quot;${cacheFile}&amp;quot;.missing&lt;br /&gt;
  script.sh &amp;quot;${serverCheck} ${serverRef}&amp;quot; &amp;quot;${cacheFile}&amp;quot;.missing&lt;br /&gt;
&lt;br /&gt;
# missing infra&lt;br /&gt;
  diff.sh &amp;quot;${serverCheck}&amp;quot; &amp;quot;${serverRef}&amp;quot; &amp;#039;cat /tmp/linksList-missing |while read fileName ;do [ -L &amp;quot;${fileName}&amp;quot; ] &amp;amp;&amp;amp;(stat -c%N &amp;quot;${fileName}&amp;quot; ) ;done ;rm -f /tmp/linksList-missing&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# clean&lt;br /&gt;
rm -f /tmp/&amp;quot;$(basename $0)&amp;quot;$$* 2&amp;gt;/dev/null&lt;br /&gt;
&lt;br /&gt;
) |tee &amp;quot;${logFile}&amp;quot;&lt;br /&gt;
echo &amp;gt;&amp;amp;2&lt;br /&gt;
echo ${logFile} &amp;gt;&amp;amp;2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tcepo</name></author>
	</entry>
</feed>