konto usunięte

Temat: Automatyczne kopiowanie zawartości USB na HDD

Mariusz Derela:
dokładnie, skoro zmieniła się NAME na SYMLINK to trzeba nieco poprawić skrypcik tak jak Pan Marcin to zrobił :)

BTW> wiem, że nie eleganckie - ale chciałem, żeby było na jasne (autor wątku chciał żeby rozwiązanie było proste :))
Mariusz, bez Panów ;)
Ja nie twierdzę że Twoje rozwiązanie jest niewłaściwe, ba, twierdzę że jest właściwe, bo DZIAŁA ;)
I kudosy dla Ciebie za rozwiązanie. ;)
Jarosław Raszewski

Jarosław Raszewski Działalność
Gospodarcza -
Doradztwo Biznesowe

Temat: Automatyczne kopiowanie zawartości USB na HDD

Dziekuje obu Kolegom za pomoc, do moich potrzeb skrypt zmodyfikowalem tak:
#!/bin/sh
mountdir="/media/`blkid /dev/sd? | awk {'print $2'} | sed -e 's/LABEL=//' -e 's/"//g'`"
dstdir="/home/art/Wideo/NOWY/`date +%Y%m%d-%H_%M`"
mkdir -p $dstdir
cp -r $mountdir $dstdir
- w pliku 85-usb.rules dalem tak:
ACTION=="add",SUBSYSTEMS=="usb", KERNEL=="sd?", SYMLINK+="synchronizacja", RUN+="/home/art/bin/syncusb.sh"

u mnie jednak sa problemy:
- skrypt dziala z palca i z udeva, ale tworzy na dysku katalog do ktorego nie mam uprawnien - klodka

z palca - /home/art/Wideo/NOWY/20110825-12_16/media/D265-6D5C - "NOWY" ma w dolnym rogu ikonki klodke, a D256-6D5C malego "x"
Po probie otwarcia D256-6D5C dostaje info "Nie można wyświetlić zawartości katalogu. Brak wymaganych uprawnień do wyświetlenia zawartości "D265-6D5C"."

- z udeva tworzy tylko /home/art/Wideo/NOWY/20110825-12_16/media/ bez zawartosci

Podsumowujac, moze malo precyzyjnie wypowiedzialem sie na samym poczatku, chodzilo mi o taki prosty mechanizm:
mam na dysku folder /home/art/Wideo i chcialbym aby skrypt wykonal automatyczne kopiowanie plikow avi z pendrive'a do tego folderu. Nie potrzebne mi typowe funkcje backupu z datami, nowymi katalogami itp - tylko proste kopiowanie.

Jesli jestescie w stanie mi pomoc, to bardzo prosze o to jeszcze raz.
Pozdrawiam

konto usunięte

Temat: Automatyczne kopiowanie zawartości USB na HDD

ostatnia linia skryptu:
chmod -R 755 $destdir
Jarosław Raszewski

Jarosław Raszewski Działalność
Gospodarcza -
Doradztwo Biznesowe

Temat: Automatyczne kopiowanie zawartości USB na HDD

Marcin Bojko:
ostatnia linia skryptu:
chmod -R 755 $destdir

Dopisałem, ale po wykonaniu z palca dostałem
art@ART:~$ sudo sh /home/art/bin/syncusb.sh
chmod: brakujący argument po `755'

Z ciekawości pozmieniałem prawa z palucha i okazuje się, że plik z pena jest skopiowany na HDD, czy wszystko działa, ale tworzy zbyt zagmatwaną strukturę. Da się wymusić, żeby skrypt kopiował pliki bezpośrednio do wybranego katalogu?

Mam, literówka:
nie $destdir tylko $dstdir
Teraz jest OK, z palca tworzy katalog do którego mam prawa.
Pozostaje uprościć ścieżkę docelowąJarosław Raszewski edytował(a) ten post dnia 25.08.11 o godzinie 13:59

konto usunięte

Temat: Automatyczne kopiowanie zawartości USB na HDD

dstdir="/home/art/Wideo/NOWY/`date +%Y%m%d-%H_%M`"

Wystarczy zmienić na dstdir="katalog" i koniec.
Jarosław Raszewski

Jarosław Raszewski Działalność
Gospodarcza -
Doradztwo Biznesowe

Temat: Automatyczne kopiowanie zawartości USB na HDD

Marcin Bojko:
dstdir="/home/art/Wideo/NOWY/`date +%Y%m%d-%H_%M`"

Wystarczy zmienić na dstdir="katalog" i koniec.

Super, jest lepiej, zmieniłem na :
#!/bin/sh
mountdir="/media/`blkid /dev/sd? | awk {'print $2'} | sed -e 's/LABEL=//' -e 's/"//g'`"
dstdir="/home/art/Wideo/"
mkdir -p $dstdir
cp -r $mountdir $dstdir
chmod -R 777 $dstdir

Teraz tworzy mi ścieżkę:
/home/art/Wideo/media/D265-6D5C/film.avi
Plik film.avi siedzi w głównym katalogu pena, da się tak zrobić, żeby się kopiował do katalogu Wideo na hdd, a nie tworzył folderów /media/D265-6D5C/ ?

Z udeva tworzy katalog /media/ ale nie kopiuje nic więcejJarosław Raszewski edytował(a) ten post dnia 25.08.11 o godzinie 14:45
Jarosław Raszewski

Jarosław Raszewski Działalność
Gospodarcza -
Doradztwo Biznesowe

Temat: Automatyczne kopiowanie zawartości USB na HDD

Nie wiem czy idę dobrą drogą, ale uprościłem skrypt do minimum i uruchomiony ręcznie spełnia moje oczekiwania, tzn kopiuje zawartość pena wprost do wskazanego folderu, nie zakładając swoich katalogów

#!/bin/sh
mountdir="/media/*/*"
dstdir="/home/art/Wideo"
cp -r $mountdir $dstdir
chmod -R 777 $dstdir

Jednak ni w ząb nie mogę do tego dostosować udeva, za każdym razem dostaję w logu info: ART udevd-work[2515]: exec of program '/home/art/bin/syncusb.sh' failed

Pomocy, plisss

konto usunięte

Temat: Automatyczne kopiowanie zawartości USB na HDD

Nie zmieniaj mountdir bo jest poprawny. Musisz zmienić jedynie ścieżkę kopiowania:


mountdir="/media/`blkid /dev/sd? | awk {'print $2'} | sed -e 's/LABEL=//' -e 's/"//g'`"
...
...
cp -r $mountdir/* /home/blebleble
..


Katalogi w media tworzone są dynamicznie i tam nie grzebiemy. Dynamicznie - mam na myśli, ze standardowo w dystrybucjach pochodnych ubuntu - powstaje katalog z UID urządzenia. Oczywiście w udev można wymusić stałą nazwę dla konkretnego urządzenia (np. Twój pen będzie się nazywał zawsze DYSK).

BTW. Coraz mniej mi się ten kod podoba :) (ba... nigdy mi się nie podobał) mogłeś sprecyzować, że chcesz kopiować do jednego miejsca. Zawsze możesz zrobić "finda" połączonego z exec gdzie filmy będą wędrować do "filmów", zdjęcia do "zdjęć"Mariusz Derela edytował(a) ten post dnia 29.08.11 o godzinie 11:30
Jarosław Raszewski

Jarosław Raszewski Działalność
Gospodarcza -
Doradztwo Biznesowe

Temat: Automatyczne kopiowanie zawartości USB na HDD

Mariusz Derela:
Nie zmieniaj mountdir bo jest poprawny. Musisz zmienić jedynie ścieżkę kopiowania:


mountdir="/media/`blkid /dev/sd? | awk {'print $2'} | sed -e 's/LABEL=//' -e 's/"//g'`"
...
...
cp -r $mountdir/* /home/blebleble
..

OK, zrozumiałem i poprawiam na Twoją wersję.
BTW. Coraz mniej mi się ten kod podoba :) (ba... nigdy mi się nie podobał) mogłeś sprecyzować, że chcesz kopiować do jednego miejsca. Zawsze możesz zrobić "finda" połączonego z exec gdzie filmy będą wędrować do "filmów", zdjęcia do "zdjęć"

Tak naprawdę chodzi wyłącznie o filmy, czyli można przyjąć, że wszystko co jest na penie ma trafić do katalogu /home/art/Wideo.
Czy możesz podesłać jakieś rozwiązanie ?

konto usunięte

Temat: Automatyczne kopiowanie zawartości USB na HDD

find /media/ -name "*[mpg|avi|mov|mp4]" -exec cp {} /home/art/Wideo \;

Coś tego typu powinno wystarczyć :)
Jarosław Raszewski

Jarosław Raszewski Działalność
Gospodarcza -
Doradztwo Biznesowe

Temat: Automatyczne kopiowanie zawartości USB na HDD

Ale gdzie to dodać ?Jarosław Raszewski edytował(a) ten post dnia 30.08.11 o godzinie 17:21
Jarosław Raszewski

Jarosław Raszewski Działalność
Gospodarcza -
Doradztwo Biznesowe

Temat: Automatyczne kopiowanie zawartości USB na HDD

Mariusz Derela:
find /media/ -name "*[mpg|avi|mov|mp4]" -exec cp {} /home/art/Wideo \;

Coś tego typu powinno wystarczyć :)

Czy dobrze rozumiem że ma to wyglądać tak w pliku syncusb.hs ?

mountdir="/media/`blkid /dev/sd? | awk {'print $2'} | sed -e 's/LABEL=//' -e 's/"//g'`"
find /media/ -name "*[mpg|avi|mov|mp4]" -exec cp {} /home/art/Wideo \;

konto usunięte

Temat: Automatyczne kopiowanie zawartości USB na HDD


#!/bin/sh
find /media/ -name "*[mpg|avi|mov|mp4]" -exec cp {} /home/art/Wideo \;
chmod -R 755 /home/art/Wideo
Jarosław Raszewski

Jarosław Raszewski Działalność
Gospodarcza -
Doradztwo Biznesowe

Temat: Automatyczne kopiowanie zawartości USB na HDD

Mariusz Derela:

#!/bin/sh
find /media/ -name "*[mpg|avi|mov|mp4]" -exec cp {} /home/art/Wideo \;
chmod -R 755 /home/art/Wideo

Super, skrypt działa, tylko co teraz w 85-USB.rules trzeba umieścić, żeby uruchamiał go po włożeniu pena do portu ?

konto usunięte

Temat: Automatyczne kopiowanie zawartości USB na HDD

dokładnie :)
Jarosław Raszewski

Jarosław Raszewski Działalność
Gospodarcza -
Doradztwo Biznesowe

Temat: Automatyczne kopiowanie zawartości USB na HDD

Mariusz Derela:
dokładnie :)
Niestety nie mogę sobie poradzić ze skonstruowaniem udeva, który zmusił by ten skrypt do automatycznego uruchomienia się po zamontowaniu pena usb. Tak jak pisałem wcześniej skrypt uruchomiony przez:
sudo sh /home/art/bin/syncusb.sh
działa poprawnie. W pliku syncusb.sh jest to co napisałeś. Co powinno się znaleźć w pliku *.rules ?? Wyczerpałem wszystkie możliwości i nic się nie dzieje

konto usunięte

Temat: Automatyczne kopiowanie zawartości USB na HDD

Powinno być dokładnie to co masz w tej chwili w rules. Nic nie musisz tam zmieniać (jedynie jeżeli zmieniła się nazwa skryptu).

---ciach---
rozpędziłem się z 755 :) zamień na 777
Możesz nieco zmodyfikować nieco skrypt - będziesz wiedział, że coś się dzieje:

#!/bin/sh
alt-notify-send "Rozpoczynam kopiowanie..."
find /media/ -name "*[mpg|avi|mov|mp4]" -exec cp {} /home/art/Wideo \;
chmod -R 777 /home/art/Wideo
alt-notify-send "Koniec kopiowania"

Rozwiązanie wymaga doinstalowania bodajże libnotify-binMariusz Derela edytował(a) ten post dnia 31.08.11 o godzinie 09:21
Jarosław Raszewski

Jarosław Raszewski Działalność
Gospodarcza -
Doradztwo Biznesowe

Temat: Automatyczne kopiowanie zawartości USB na HDD

Mam wszystko dokładnie jak napisałeś (bez notify) - skrypt nie startuje po zamontowaniu USB :(
Coś musi być nie tak z rules

konto usunięte

Temat: Automatyczne kopiowanie zawartości USB na HDD

dodaj chmod na katalog tak żeby mógł coś tam skopiować. Jeśli masz rules, który podałem na początku to jest ok i musi działać. Dodaj do skryptu coś w stylu date >> /tmp/syf i będziesz widział czy jest wykonywany. Sprawdzałeś co pojawia się w logach?
Jarosław Raszewski

Jarosław Raszewski Działalność
Gospodarcza -
Doradztwo Biznesowe

Temat: Automatyczne kopiowanie zawartości USB na HDD

Mariusz Derela:
dodaj chmod na katalog tak żeby mógł coś tam skopiować. Jeśli masz rules, który podałem na początku to jest ok i musi działać. Dodaj do skryptu coś w stylu date >> /tmp/syf i będziesz widział czy jest wykonywany. Sprawdzałeś co pojawia się w logach?

Mój plik rules:
SUBSYSTEMS=="usb", ACTION=="add", KERNEL=="sd?", SYMLINK+="synchronizacja", RUN+="/home/art/bin/syncusb.sh"

syncusb.sh:
#!/bin/sh
find /media/ -name "*[mpg|avi|mov|mp4]" -exec cp {} /home/art/Wideo \;
chmod -R 777 /home/art/Wideo
date >> /tmp/syf

Po włożeniu pena tworzy plik syf w folderze temp, zawierający datę - ale nie kopiuje zawartości pena na dysk

Wpis w syslog:
Aug 31 14:38:30 ART kernel: [ 1298.628049] usb 1-4: new high speed USB device using ehci_hcd and address 8
Aug 31 14:38:30 ART kernel: [ 1298.768145] scsi6 : usb-storage 1-4:1.0
Aug 31 14:38:31 ART kernel: [ 1299.772883] scsi 6:0:0:0: Direct-Access Intuix DiskOnKey 6.51 PQ: 0 ANSI: 0 CCS
Aug 31 14:38:31 ART kernel: [ 1299.782046] sd 6:0:0:0: Attached scsi generic sg1 type 0
Aug 31 14:38:31 ART kernel: [ 1299.782485] sd 6:0:0:0: [sdb] 3903487 512-byte logical blocks: (1.99 GB/1.86 GiB)
Aug 31 14:38:31 ART kernel: [ 1299.783106] sd 6:0:0:0: [sdb] Write Protect is off
Aug 31 14:38:31 ART kernel: [ 1299.783125] sd 6:0:0:0: [sdb] Mode Sense: 45 00 00 08
Aug 31 14:38:31 ART kernel: [ 1299.783138] sd 6:0:0:0: [sdb] Assuming drive cache: write through
Aug 31 14:38:31 ART kernel: [ 1299.785603] sd 6:0:0:0: [sdb] Assuming drive cache: write through
Aug 31 14:38:31 ART kernel: [ 1299.788099] sdb: sdb1
Aug 31 14:38:31 ART kernel: [ 1299.791490] sd 6:0:0:0: [sdb] Assuming drive cache: write through
Aug 31 14:38:31 ART kernel: [ 1299.791509] sd 6:0:0:0: [sdb] Attached SCSI removable disk

Czyli montuje pena usb ale dalej nic się nie dzieje :(

Zrobiłem : art@ART:~$ sudo chmod -R 777 /home/art/Wideo
Nic się nie zmieniło

Następna dyskusja:

stos USB na systemy wbudowane




Wyślij zaproszenie do