<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.wingeav.de/index.php?action=history&amp;feed=atom&amp;title=Bash-Script_mit_Samba_und_Regex</id>
	<title>Bash-Script mit Samba und Regex - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.wingeav.de/index.php?action=history&amp;feed=atom&amp;title=Bash-Script_mit_Samba_und_Regex"/>
	<link rel="alternate" type="text/html" href="https://wiki.wingeav.de/index.php?title=Bash-Script_mit_Samba_und_Regex&amp;action=history"/>
	<updated>2026-04-17T19:18:47Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in MyWiki</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://wiki.wingeav.de/index.php?title=Bash-Script_mit_Samba_und_Regex&amp;diff=241&amp;oldid=prev</id>
		<title>Rueling: Die Seite wurde neu angelegt: „Hier ein Script, dass per smbclient das Erstell-Datum von der ersten Datei/Verzeichnis von einem Share abfragt.&lt;br&gt; Es wird von einem Share Ordner (also Ordner…“</title>
		<link rel="alternate" type="text/html" href="https://wiki.wingeav.de/index.php?title=Bash-Script_mit_Samba_und_Regex&amp;diff=241&amp;oldid=prev"/>
		<updated>2020-08-06T16:13:53Z</updated>

		<summary type="html">&lt;p&gt;Die Seite wurde neu angelegt: „Hier ein Script, dass per smbclient das Erstell-Datum von der ersten Datei/Verzeichnis von einem Share abfragt.&amp;lt;br&amp;gt; Es wird von einem Share Ordner (also Ordner…“&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Hier ein Script, dass per smbclient das Erstell-Datum von der ersten Datei/Verzeichnis von einem Share abfragt.&amp;lt;br&amp;gt;&lt;br /&gt;
Es wird von einem Share Ordner (also Ordner unterhalb vom Share) der erste Eintrag (Datei oder Verzeichnis) geholt. &amp;lt;br&amp;gt;&lt;br /&gt;
Dann wird per Regex mit &amp;#039;sed&amp;#039; alles außer dem Namen enfernt.&amp;lt;br&amp;gt;&lt;br /&gt;
sed ohne Parameter &amp;#039;-r&amp;#039; muss vor einem &amp;quot;+&amp;quot; ein &amp;quot;\&amp;quot; Schreiben um das zu escapen&amp;lt;br&amp;gt;&lt;br /&gt;
bei &amp;#039;-r&amp;#039; ist das wohl nicht notwendig. Das -r (bei einigen Version auf -e) benötigt man um eine Zeichenkette innerhalb des Strings einzusetzen&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 #&lt;br /&gt;
 # Parameter&lt;br /&gt;
 HOSTNAME=$1&lt;br /&gt;
 SHARE=$2&lt;br /&gt;
 SHAREDIR=$3&lt;br /&gt;
 DOMAIN=$4&lt;br /&gt;
 &lt;br /&gt;
 # Settings&lt;br /&gt;
 RET=0&lt;br /&gt;
 STRING=&amp;quot;reading from share $SHARE on $HOSTNAME with sharedir $SHAREDIR ok&amp;quot;&lt;br /&gt;
 FAILSTRING=&amp;quot;Error reading from share $SHARE on $HOSTNAME with sharedir $SHAREDIR&amp;quot;&lt;br /&gt;
 SMBCLIENT=&amp;quot;/usr/bin/smbclient -A /etc/icinga2/auth.cfg -mSMB3 &amp;quot;&lt;br /&gt;
 date1=$(date +&amp;quot;%s%2N&amp;quot;)  &lt;br /&gt;
 &lt;br /&gt;
 # Lies den ersten Eintrag im ShareDir (Verzeichnis oder Datei) und ermittle dessen create_time&lt;br /&gt;
 # dazu muss die Zeile mit dem Eintrag so ersetzt werden, dass nur der Dateiname uebrig bleibt&lt;br /&gt;
 #FIRST_ENTRY=$($SMBCLIENT &amp;quot;//$HOSTNAME/$SHARE&amp;quot;  -c &amp;quot;ls $SHAREDIR/*&amp;quot; | head -n 3 | tail -n 1&lt;br /&gt;
 #echo $FIRST_ENTRY |sed &amp;#039;s/\s\+[N|D|DH]\s[0-9]\+.\+//g&amp;#039; &amp;gt;&amp;gt; /tmp/smb.log &lt;br /&gt;
 &lt;br /&gt;
 FIRST_ENTRY=$($SMBCLIENT &amp;quot;//$HOSTNAME/$SHARE&amp;quot;  -c &amp;quot;ls $SHAREDIR/*&amp;quot; | head -n 3 | tail -n 1 | sed -r &amp;#039;s/\s+(.+)\s+[N|D|DH]\s+[0-9]+.+/\1/g&amp;#039;)&lt;br /&gt;
 ALL_INFO=$($SMBCLIENT &amp;quot;//$HOSTNAME/$SHARE&amp;quot; -c &amp;quot;allinfo $SHAREDIR/$FIRST_ENTRY&amp;quot; | head -n 2 | tail -n 1 )&lt;br /&gt;
 #echo $FIRST_ENTRY &amp;gt;&amp;gt; /tmp/smb.log&lt;br /&gt;
 &lt;br /&gt;
 #FIRST_ENTRY=$($SMBCLIENT &amp;quot;//$HOSTNAME/$SHARE&amp;quot;  -c &amp;quot;ls $SHAREDIR/*&amp;quot; | head -n 3 | tail -n 1&lt;br /&gt;
 #echo $FIRST_ENTRY |sed &amp;#039;s/\s\+[N|D|DH]\s[0-9]\+.\+//g&amp;#039; &amp;gt;&amp;gt; /tmp/smb.log&lt;br /&gt;
 #echo $ALL_INFO &amp;gt;&amp;gt; /tmp/smb.log&lt;br /&gt;
 #echo $&amp;#039;\n&amp;#039; &amp;gt;&amp;gt; /tmp/smb.log&lt;br /&gt;
 date2=$(date +&amp;quot;%s%2N&amp;quot;)&lt;br /&gt;
 diff=$(($date2-$date1))&lt;br /&gt;
 #&lt;br /&gt;
 # Pruefe auf &amp;quot;create_time&amp;quot;&lt;br /&gt;
 #&lt;br /&gt;
 if [[ $ALL_INFO = create_time* ]]; then&lt;br /&gt;
     RET=0;&lt;br /&gt;
 else&lt;br /&gt;
     RET=2;&lt;br /&gt;
     STRING=&amp;quot;$FAILSTRING\n$ALL_INFO&amp;quot;;&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 #&lt;br /&gt;
 # Returnwert und Text ausgeben&lt;br /&gt;
 #&lt;br /&gt;
 echo &amp;quot;$STRING\n$ALL_INFO | time=&amp;quot;$diff&amp;quot;ms&amp;quot;&lt;br /&gt;
 exit $RET&lt;/div&gt;</summary>
		<author><name>Rueling</name></author>
	</entry>
</feed>