xargs beschränkt? Script funktioniert nicht...

R

r4tze

Hallo zusammen,

ich habe eine eSafe Appliance Kernel 2.4.21-47.EL GNU/Linux und darauf ein Script der "Non Deliverable Reports" im Spool Ordner finden und löschen soll (wenn es mehr als 800 sind).

Code:
#!/bin/sh
#
# Clear variables and temporary files.
counter=0
echo "" > deletablefiles.log

# Start main loop, examine files with grep (one by one) and create list of deletable files.
for i in `ls --ignore=*.h --ignore=*.log --ignore=mkr?00`
do
  temp=0
  tempstr=""
  tempstr=`grep -l "bermittlungsstatus  (Fehlgeschlagen)" $i | grep -v "\.sh"`
  temp=`echo $tempstr | wc -l`
  if [ ${#tempstr} -gt 0 ]; then
    echo $tempstr >> deletablefiles.log
    echo $tempstr".h" >> deletablefiles.log
    let counter=counter+temp
  fi
done

# Check number of deletable emails.
if [ $counter -gt 800 ]; then
  date >> /root/watch_spam.log
  echo $counter" NDR messages found. Deleting required." >> /root/watch_spam_mails.log

  # Stopping eSafe service, and writing to log.
  /etc/rc3.d/esafe stop >> /root/watch_spam.log

  # Deleting bad emails.
  cat deletablefiles.log | xargs --replace=filename rm filename 
   
  # Starting eSafe service, and writing to log.
  /etc/rc3.d/esafe start >> /root/watch_spam.log

# If there are less than 800 emails, we will write to the log, and do nothing
else
  date >> /root/watch_spam.log
  echo $counter" NDR messages found. Everything is OK." >> /root/watch_spam.log
fi

Nun gibt es das Problem, dass das Skript zwar eigentlich zuverlässig funktioniert, aber sobald sich sehr viele (mehr als 12 000 Dateien) im Spool Ordner befinden der eSafe Dienst nach dem löschen der Reports nicht wieder gestartet wird.

Kann es sein das es da ein Limit für xargs gibt? Oder liegt das Problem woanders?

Grüße

r4tze
 

Ähnliche Themen

NAS-Drive Mount in Bash-Script über crontab

Zugriff Ubuntu 16.04. auf Freigabe 18.04. LTS nicht möglich

Crontab und Scripts - Problem

[Gelöst] Suchen und ersetzen mit Hilfe mehrerer Parameter

Timeout für Long Time Querys

Zurück
Oben