Przenoszenie starych katalogów do archiwum

Potrzebujesz pomocy z C, C++, perl, python, itp.
DWSD
Posty: 5
Rejestracja: 31 sierpnia 2009, 19:46

Przenoszenie starych katalogów do archiwum

Post autor: DWSD »

Witam.
M
am problem ponieważ szukam skryptu, który pomoże mi przenieść katalogi z jednego miejsca na drugie, na podstawie daty utworzenia (modyfikacji).

Mam stworzone udziały samby o mniej więcej takie strukturze:

Kod: Zaznacz cały

/home/samba/foto/kat1
/home/samba/foto/kat2
/home/samba/foto/kat3
/home/samba/foto/katX
(gdzie katalogów mam z 2-3 tysiące po kilka megabajtów z pod katalogami).
I teraz chciałbym przenieść katalogi z /home/samba/foto starsze niż 1,5 roku do katalogu /home/samba/foto_archiwum (za długo mi się ładuje lista z wszystkim) ponieważ jest tego tak dużo, że nie zrobię tego ręcznie. Czy ktoś może mi pomóc jak przenieś te katalogi (bez zmian w podkatalogach, żeby to się wszystko nie rozpadło. Sukcesywnie dzień w dzień to porządkowałem i zdjęcia w podkatalogach nie są podpisane, więc nie do odnalezienia.

Po prostu do archiwum muszę mieć dostęp i rodzice, ale mniej z tego korzystamy.

Próbowałem to przerobić ale wychodziły mi różne głupoty - nie działało, źle przenosiło itd.

Kod: Zaznacz cały

NUMBER_OF_DAYS=90  SUBDIRECTORY=target_folder_name  find . -type f -maxdepth 1 -mtime +$NUMBER_OF_DAYS | sort > /tmp/$$  exec 4</tmp/$$  while read FILENAME <&4  do  mv $FILENAME $SUBDIRECTORY  done  rm /tmp/$$

To znowu usuwa i nie chciało mi za bardzo działać z poleceniem ,,mv'':

Kod: Zaznacz cały

find /the/dir/to/start/in -type f -mtime +365 -ls -exec rm -f -- {} \;
To usuwało:

Kod: Zaznacz cały

find /mnt/third/bt/uploads/-type f -mtime +7-exec mv {}/mnt/third/bt/tmp/\;

A to mi nie brało pod uwage samych katalogów, też nie działało do końca:

Kod: Zaznacz cały

find /mnt/third/bt/uploads/-type f -mtime +7-exec mv {}/mnt/third/bt/tmp/\;
Problem polega też na tym, że nie mogę zrobić kopii zapasowej tych plików bo mi miejsca na dysku braknie na trzymanie dwóch kopii - za dużo danych, a nie mogę sobie pozwolić na utratę czegokolwiek.


Czy to powinno działać poprawnie dla plików starszych niż 425 dni?

Kod: Zaznacz cały

find /home/samba/cls/ -type d -mtime +425 -exec mv {} /home/samba/cls_archiwum/ \;
Wywalało non-stop ścieżka/do/katalogu:

Kod: Zaznacz cały

Nie ma takiego pliku ani katalogu
Proszę o pomoc i podpowiedzi.

Pozdrawiam.
DWSD
Posty: 5
Rejestracja: 31 sierpnia 2009, 19:46

Post autor: DWSD »

czy to powinno działać poprawnie dla plików starszych niż 425 dni?
find /home/samba/cls/ -type d -mtime +425 -exec mv {} /home/samba/cls_archiwum/ \;

wywalało non-stop ścieżka/do/katalogu : Nie ma takiego pliku ani katalogu
sethiel
Junior Member
Posty: 762
Rejestracja: 28 stycznia 2008, 11:50
Lokalizacja: Wrocław

Post autor: sethiel »

Kod: Zaznacz cały

data=`date | awk '{print $3 "."  $2 "." $6}'`
find /zdjecia -name \*.jpg -daystart -ctime +30 -exec rm -f {} \;
Mam nadzieję że autor (kimkolwiek jest) się nie obrazi, ja pojęcia nie mam o co chodzi w tym - ale działa.
Usuwa jpg starsze niż 30 dni. Więc analogicznie zamiast rm dasz mv.
Dla mnie avk to jakieś magiczne "coś" co działa "jakoś".
Tak jak "sed" zresztą.
DWSD
Posty: 5
Rejestracja: 31 sierpnia 2009, 19:46

Post autor: DWSD »

Nie ma się co obrażać, udało mi się to rozwiązać trochę przerabiając skrypty. Ogólnie wczoraj mi serwer płatał figle, szczególnie z kartami sieciowymi i niektórymi poleceniami, ale w końcu pokonałem go.
sethiel
Junior Member
Posty: 762
Rejestracja: 28 stycznia 2008, 11:50
Lokalizacja: Wrocław

Post autor: sethiel »

Chodziło mi o autora tego kawałka który wkleiłem. A nie autora postu.
Ale fakt niezła dwuznaczność.
ODPOWIEDZ