Autor Thema: Linux Script, biit um Hilfe!  (Gelesen 6689 mal)

Offline Steffen

  • Sr. Member
  • ****
  • Beiträge: 834
Linux Script, biit um Hilfe!
« am: 15 Januar 2016, 05:58:53 »
Hallo!

Ich wollte nur eine einfaches script schreiben was Daten im einem Verzeichniss löscht was älter als 7 Tage ist, doch egal was ich schon versuchte habe kommt immer dieser Fehler:
[~]# bash /scripte/Cam_Auto_Delete.sh
BusyBox v1.01 (2015.11.17-17:32+0000) multi-call binary

Usage: find [PATH...] [EXPRESSION]

Search for files in a directory hierarchy.  The default PATH is
the current directory; default EXPRESSION is '-print'

EXPRESSION may consist of:
        -follow         Dereference symbolic links.
        -name PATTERN   File name (leading directories removed) matches PATTERN.
        -print          Print (default and assumed).

        -type X         Filetype matches X (where X is one of: f,d,l,b,c,...)
        -perm PERMS     Permissions match any of (+NNN); all of (-NNN);
                        or exactly (NNN)
        -mtime TIME     Modified time is greater than (+N); less than (-N);
                        or exactly (N) days

Inhalt des Script:
#!/bin/bash

find /share/CamVideo/ -type f \( -name "*.avi" \) -mtime +2 -exec rm {} \;
#find /scripte/ -type f -ctime +7 -exec rm -f {} \;
#find /share/CamVideo/* -mtime +2 -exec rm {} \;
#find /share/CamVideo/ -type f -mtime +1 -exec rm {} \;

ich hatte auch schon damit versucht find /share/CamVideo -type f \( -name "*.avi" \) -ctime +60 -exec rm {} \; aber genau das gleich!

Habe ich hier eine Denkfehler den ich nicht sehe???

Mfg Steffen
« Letzte Änderung: 15 Januar 2016, 06:40:34 von Steffen »

Offline dev0

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3552
    • _.:|:._
Antw:Linux Script, biit um Hilfe!
« Antwort #1 am: 15 Januar 2016, 06:39:59 »
Ohne Klammern sollte es gehen.
find /share/CamVideo -type f -name "*.avi" -ctime +60 -exec rm {} \;

Offline CoolTux

  • Developer
  • Hero Member
  • ****
  • Beiträge: 22936
Antw:Linux Script, biit um Hilfe!
« Antwort #2 am: 15 Januar 2016, 06:42:52 »
find /share/CamVideo -type f -name *.avi -ctime -60 -exec ls -all {} \;

Probier erstmal in der konsole ob es so geht

Danach kannst Du ja anpassen. Und beachte bitte das ctime das Erstellungsdatum ist, eventuell magst ja lieber schauen das es das letzte mal geändert wurde.



Grüße
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://paypal.me/pools/c/8gULisr9BT
FHEM GitHub: https://github.com/fhem/
kein Support für cfg Editierer

Offline CoolTux

  • Developer
  • Hero Member
  • ****
  • Beiträge: 22936
Antw:Linux Script, biit um Hilfe!
« Antwort #3 am: 15 Januar 2016, 06:44:43 »
Ohne Klammern sollte es gehen.
find /share/CamVideo -type f -name "*.avi" -ctime +60 -exec rm {} \;

Also bei mir klappt das so nicht, ich muß ein minus vor der 60 nehmen um ältere Dateien zu finden
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://paypal.me/pools/c/8gULisr9BT
FHEM GitHub: https://github.com/fhem/
kein Support für cfg Editierer

Offline dev0

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3552
    • _.:|:._
Antw:Linux Script, biit um Hilfe!
« Antwort #4 am: 15 Januar 2016, 06:50:06 »
Stimmt. Ich vermute aber, dass das eigentlich Problem Busybox ist, dass nur -mtime und nicht -ctime kennt.

Offline Steffen

  • Sr. Member
  • ****
  • Beiträge: 834
Antw:Linux Script, biit um Hilfe!
« Antwort #5 am: 15 Januar 2016, 06:59:54 »
Hallo!

Erstmal danke für eure Hilfe, aber leider immer noch der gleiche Fehler habe alle eure vorschläge ausprobiert,

woran könnte es denn bloß liegen?!? :(

find /share/CamVideo/ -type f -name *.avi -ctime -60 -exec ls -all {} \;
BusyBox v1.01 (2015.11.17-17:32+0000) multi-call binary

Usage: find [PATH...] [EXPRESSION]


Mfg

Offline dev0

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3552
    • _.:|:._
Antw:Linux Script, biit um Hilfe!
« Antwort #6 am: 15 Januar 2016, 07:01:39 »
Nimm mal -mtime statt -ctime

Offline Steffen

  • Sr. Member
  • ****
  • Beiträge: 834
Antw:Linux Script, biit um Hilfe!
« Antwort #7 am: 15 Januar 2016, 07:06:43 »
Leider immer noch das gleiche..

[~] # find /share/CamVideo/ -type f -name *.avi -mtime -60 -exec ls -all {} \;
BusyBox v1.01 (2015.11.17-17:32+0000) multi-call binary

Usage: find [PATH...] [EXPRESSION]

Offline dev0

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3552
    • _.:|:._
Antw:Linux Script, biit um Hilfe!
« Antwort #8 am: 15 Januar 2016, 07:08:27 »
Zeig mal die gesamte usage Meldung.

Offline Steffen

  • Sr. Member
  • ****
  • Beiträge: 834
Antw:Linux Script, biit um Hilfe!
« Antwort #9 am: 15 Januar 2016, 07:12:51 »
Zeig mal die gesamte usage Meldung.

Ist immer die gleiche wie im meinem Ersten Post!

Offline CoolTux

  • Developer
  • Hero Member
  • ****
  • Beiträge: 22936
Antw:Linux Script, biit um Hilfe!
« Antwort #10 am: 15 Januar 2016, 07:16:05 »
Dann fang an zu kürzen. Nimm als erstes -exec und alles dahinter weg und nimm nur den reinen find Befehl.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://paypal.me/pools/c/8gULisr9BT
FHEM GitHub: https://github.com/fhem/
kein Support für cfg Editierer

Offline Steffen

  • Sr. Member
  • ****
  • Beiträge: 834
Antw:Linux Script, biit um Hilfe!
« Antwort #11 am: 15 Januar 2016, 07:16:59 »
Hallo!

Ich habe jetzt mal die Befehle auf einem Anderen Ubuntu System getestet und was soll ich sagen da klappen sie alle, es muss also an diesem liegen denn,
es ist ein Qnap Linux aber dachte das fast gleich wertig wäre in dieser grundfunktion!

Habt ihr vielleicht ne Ahnung was ich da nachinstallieren könnte oder Aktualisieren müsste damit es läuft???

Mfg Steffen

Offline dev0

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3552
    • _.:|:._
Antw:Linux Script, biit um Hilfe!
« Antwort #12 am: 15 Januar 2016, 07:17:40 »
Dann kennt Dein find kein -ctime und kein -exec. Nimm -mtime und pipes in ein xargs
Mit Debian, Ubuntu oder Redhat würde es so gehen:
find /path -type f -name "*.conf" -mtime -1200 -print0 | xargs -0 ls -la
Vielleicht hast Du auch noch ein "anderes" find im Dateisystem liegen, dass mehr Optionen kennt.

Offline Steffen

  • Sr. Member
  • ****
  • Beiträge: 834
Antw:Linux Script, biit um Hilfe!
« Antwort #13 am: 15 Januar 2016, 07:22:15 »
Da tut sich zwar was aber das ist auch nicht das Verzeichnis was er auslesen sollte:

[~] # find /share/CamVideo/ -type f -name "*.avi" -mtime -1200 -print0 | xargs -0 ls -la
BusyBox v1.01 (2015.11.17-17:32+0000) multi-call binary

Usage: find [PATH...] [EXPRESSION]

Search for files in a directory hierarchy.  The default PATH is
the current directory; default EXPRESSION is '-print'

EXPRESSION may consist of:
        -follow         Dereference symbolic links.
        -name PATTERN   File name (leading directories removed) matches PATTERN.
        -print          Print (default and assumed).

        -type X         Filetype matches X (where X is one of: f,d,l,b,c,...)
        -perm PERMS     Permissions match any of (+NNN); all of (-NNN);
                        or exactly (NNN)
        -mtime TIME     Modified time is greater than (+N); less than (-N);
                        or exactly (N) days

drwxr-xr-x    2 admin    administ      1024 Jan 11 07:09 .
drwxr-xr-x   18 admin    administ      1024 Jan 14 14:45 ..
lrwxrwxrwx    1 admin    administ         6 Nov 18 04:06 .BitTornado -> ../tmp
-rw-r--r--    1 admin    administ      7875 Jan 15 07:08 .bash_history
-rw-r--r--    1 admin    administ       175 Oct  9  2004 .bash_logout
-rw-r--r--    1 admin    administ       161 Oct  9  2004 .bash_profile
-rw-r--r--    1 admin    administ      1687 Jul 18  2007 .bashrc
-rw-r--r--    1 admin    administ        36 Jan 11 06:54 .buzzer_warnning.conf
lrwxrwxrwx    1 admin    administ        37 Jan 11 07:09 .plex -> /share/HDA_DATA/.qpkg/PlexMediaServer
-rw-r--r--    1 admin    administ        27 Jan 29  2007 .profile
lrwxrwxrwx    1 admin    administ        15 Jan 11 06:54 .ssh -> /etc/config/ssh
-rw-r--r--    1 admin    administ       923 Jan 11 07:51 .vimrc
lrwxrwxrwx    1 admin    administ        45 Jan 11 07:09 Library -> /share/HDA_DATA/.qpkg/PlexMediaServer/Library
-rw-r--r--    1 admin    administ      6526 Jul 11  2007 index_default.html

Offline dev0

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3552
    • _.:|:._
Antw:Linux Script, biit um Hilfe!
« Antwort #14 am: 15 Januar 2016, 07:26:53 »
Letzter Versuch: -print statt -print0

 

decade-submarginal