Seiten: neuer Status | Dateien umziehen | SQL anpassen | Plugin zum Einlesen | alte Shortcodes ändern


Script mit dem alle Files aus dem Bereich der myGallery in den upload Bereich kopiert werden. Um Plattenplatz zu sparen werden von den Files allerdings „nur“ Hardlinks erzeugt.

#!/bin/bash
#verschiebt die Fotos aus den myGallery-Alben in die Mediathek.
 
wpPfad="/srv/wordpress"
uploadPfad="${wpPfad}/wp-content/uploads"
myGalPfad="${wpPfad}/wp-content/myfotos"
 
cd ${myGalPfad}
for d in *
 do
  if [ ! -d "${d}" ]
   then
    continue
   fi
  if [ -L "${d}" ]
   then
    continue
   fi
  if [ `echo "$d" | grep "^[0-9][0-9][0-9][0-9]-" | wc -l` -eq 1 ]
   then
    e="${d:0:4}/${d:5:40}"
   else
    e1=`echo "${d:0:1}" | tr 'a-z' 'A-Z'`
    e2="${d:1:40}"
    e="${e1}${e2}"
   fi
  echo "${d} -> ${uploadPfad}/${e}"
  if [ ! -d "${uploadPfad}/${e}" ]
   then
    mkdir -vp "${uploadPfad}/${e}"
   fi
  cd "${d}"
  for f in *
   do
    if [ -d "${f}" -o -L "${f}" ]
     then
      echo "Datei $f gilt nicht!"
      continue
     fi
     g=""
    if [ "${f#dsc}" == "${f}" ]
     then
      g=`echo ${f} \
          | perl -pi -e ' \
                          s%_%-%g; \
                          s%^USmith-%%i; \
                          s%^Bild-%%i; \
                          s%^WebCam-[GO]C[A-Z0-9]+-%%i; \
                          s%^auswertung-MTB-([0-9]{4}).*$%${1}-12-31%i; \
                          s%^([0-9]{4}-[0-9]{2}-[0-9]{2}).*$%$1%; \
                          s%^([0-9]{4}-[0-9]{2})[^-].*$%${1}-01%; \
                          s%^([0-9]{4}-[0-9]{2})-[^0-9].*$%${1}-01%; ' `
      if [ `echo "$g" | grep "^[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]$" \
                      | wc -l` -eq 1 ]
       then
        echo "touch --date=\"$g\" \"$f\""
        touch --date="$g" "$f"
       else
        echo "Datum $g nicht erkannt!"
       fi
     fi
    if [ -f "${f}" ]
     then
      if [ ! -f "${uploadPfad}/${e}/${f}" -o \
           ! "${f}" -ef "${uploadPfad}/${e}/${f}" ]
       then
        ln -f "${f}" "${uploadPfad}/${e}/${f}"
       fi
     fi
    if [ ! -f "${uploadPfad}/${e}/${f}" ]
     then
      echo "Datei ${uploadPfad}/${e}/${f} konnte nicht angelegt werden!"
     fi
   done
  cd -
 done #for d in *
 
set -