jonas_lindquist
Aktiv medlem
Hejsan!
Vet inte om detta kan intressera någon, eller om det ens finns Linuxanvändare på Fotosidan, men här kommer mitt inlägg i alla fall:
Kör själv en linuxburk (Gentoo) och tyckte det var lite krångligt med bildöverföring.
Jag har en USB-kortläsare som jag använder mig av.
Jag ville med ETT kommando, skapa en lämplig mapp i mitt filsystem samt kopiera över alla bilder från kortet till denna mapp.
Om du följer dessa enkla steg så lyckas även du!
Steg 1
Skapa en lämplig katalog att mounta ditt minneskort till.
root@host> mkdir /mnt/smart-media
Steg 2
Se till att du har stöd för USB-lagringsenheter i din kernel, och lägg till följande rad till fstab
root@host> echo "/dev/sda1 /mnt/smart-media vfat user,noauto,umask=0077 0 0" >> /etc/fstab
Steg 3
Som vanlig användare, i mitt fall är jonasl, lägg följande text i en fil som du kallar för t.ex. tanka.
# ===== TANKA =====
#!/bin/bash
# SET FOR WHICH USER AND WHAT RIGHTS
MY_USER="jonasl"
MY_GROUP="users"
MY_RIGHTS="755"
# SET ALL DIRECTORY VARIABLES. BE SHURE TO END WITH / !!
MOUNT_DIR="/mnt/smart-media/"
LOCAL_PHOTO_DIR="/home/jonasl/local_photo/"
# MOUNT THE SPECIFIED DEVICE
mount $MOUNT_DIR
#CREATE ADEQUATE FOLDER TREE
echo "Folder description:"
read DESCRIPTION
DESCRIPTION="`echo $DESCRIPTION | tr [" "] ["_"]`"
TODAYS_FOLDER="`date +%F_`$DESCRIPTION/"
DEST="`echo -e $LOCAL_PHOTO_DIR$TODAYS_FOLDER`"
DEST_JPG=$DEST"`echo jpg/`"
DEST_RAW=$DEST"`echo raw/`"
mkdir $DEST
mkdir $DEST_JPG
mkdir $DEST_RAW
# LOOK FOR FILES AND START TRANSFER
find $MOUNT_DIR -name "*.jpg" -exec cp {} $DEST_JPG \;
find $MOUNT_DIR -name "*.cr2" -exec cp {} $DEST_RAW \;
# UMOUNT THE SPECIFIED DRIVE
umount $MOUNT_DIR
# CREATE CORRECT OWNERSHIP AND RIGHTS
chown -R $MY_USER:$MY_GROUP $DEST
chmod -R $MY_RIGHTS $DEST
#===== END OF TANKA =====
Steg 4
Se till att ändra variablerna i början av filen för att passa dig!
Märk väl att kommandon som t.ex. mount enbart får utföras utav root, i vanliga fall. Därför, ändra ägaren till root och ge den rwsr-xr-x som rättigheter.
root@host>chown root:root tanka.sh
root@host>chmod 4755 tanka.sh
Du är nu klar!
Kör man scriptet så ger den följande till st.out:
jonasl@jaegermeister:[~]> scripts/tanka.sh
Folder description:
Detta är en liten testmapp
jonasl@jaegermeister:[~]> cd local_photo/
jonasl@jaegermeister:[~/local_photo]> ls -R 2004-10-08_Detta_är_en_liten_testmapp/
2004-10-08_Detta_är_en_liten_testmapp/:
total 0
drwxr-xr-x 2 jonasl users 144 Oct 8 00:28 jpg/
drwxr-xr-x 2 jonasl users 48 Oct 8 00:28 raw/
2004-10-08_Detta_är_en_liten_testmapp/jpg:
total 2.8M
-rwxr-xr-x 1 jonasl users 895K Oct 8 00:28 img_0107.jpg
-rwxr-xr-x 1 jonasl users 953K Oct 8 00:28 img_0108.jpg
-rwxr-xr-x 1 jonasl users 939K Oct 8 00:28 img_0109.jpg
2004-10-08_Detta_är_en_liten_testmapp/raw:
total 0
jonasl@jaegermeister:[~/local_photo]>
Hoppas att någon blev gladare i alla fall!
//JonasL
Vet inte om detta kan intressera någon, eller om det ens finns Linuxanvändare på Fotosidan, men här kommer mitt inlägg i alla fall:
Kör själv en linuxburk (Gentoo) och tyckte det var lite krångligt med bildöverföring.
Jag har en USB-kortläsare som jag använder mig av.
Jag ville med ETT kommando, skapa en lämplig mapp i mitt filsystem samt kopiera över alla bilder från kortet till denna mapp.
Om du följer dessa enkla steg så lyckas även du!
Steg 1
Skapa en lämplig katalog att mounta ditt minneskort till.
root@host> mkdir /mnt/smart-media
Steg 2
Se till att du har stöd för USB-lagringsenheter i din kernel, och lägg till följande rad till fstab
root@host> echo "/dev/sda1 /mnt/smart-media vfat user,noauto,umask=0077 0 0" >> /etc/fstab
Steg 3
Som vanlig användare, i mitt fall är jonasl, lägg följande text i en fil som du kallar för t.ex. tanka.
# ===== TANKA =====
#!/bin/bash
# SET FOR WHICH USER AND WHAT RIGHTS
MY_USER="jonasl"
MY_GROUP="users"
MY_RIGHTS="755"
# SET ALL DIRECTORY VARIABLES. BE SHURE TO END WITH / !!
MOUNT_DIR="/mnt/smart-media/"
LOCAL_PHOTO_DIR="/home/jonasl/local_photo/"
# MOUNT THE SPECIFIED DEVICE
mount $MOUNT_DIR
#CREATE ADEQUATE FOLDER TREE
echo "Folder description:"
read DESCRIPTION
DESCRIPTION="`echo $DESCRIPTION | tr [" "] ["_"]`"
TODAYS_FOLDER="`date +%F_`$DESCRIPTION/"
DEST="`echo -e $LOCAL_PHOTO_DIR$TODAYS_FOLDER`"
DEST_JPG=$DEST"`echo jpg/`"
DEST_RAW=$DEST"`echo raw/`"
mkdir $DEST
mkdir $DEST_JPG
mkdir $DEST_RAW
# LOOK FOR FILES AND START TRANSFER
find $MOUNT_DIR -name "*.jpg" -exec cp {} $DEST_JPG \;
find $MOUNT_DIR -name "*.cr2" -exec cp {} $DEST_RAW \;
# UMOUNT THE SPECIFIED DRIVE
umount $MOUNT_DIR
# CREATE CORRECT OWNERSHIP AND RIGHTS
chown -R $MY_USER:$MY_GROUP $DEST
chmod -R $MY_RIGHTS $DEST
#===== END OF TANKA =====
Steg 4
Se till att ändra variablerna i början av filen för att passa dig!
Märk väl att kommandon som t.ex. mount enbart får utföras utav root, i vanliga fall. Därför, ändra ägaren till root och ge den rwsr-xr-x som rättigheter.
root@host>chown root:root tanka.sh
root@host>chmod 4755 tanka.sh
Du är nu klar!
Kör man scriptet så ger den följande till st.out:
jonasl@jaegermeister:[~]> scripts/tanka.sh
Folder description:
Detta är en liten testmapp
jonasl@jaegermeister:[~]> cd local_photo/
jonasl@jaegermeister:[~/local_photo]> ls -R 2004-10-08_Detta_är_en_liten_testmapp/
2004-10-08_Detta_är_en_liten_testmapp/:
total 0
drwxr-xr-x 2 jonasl users 144 Oct 8 00:28 jpg/
drwxr-xr-x 2 jonasl users 48 Oct 8 00:28 raw/
2004-10-08_Detta_är_en_liten_testmapp/jpg:
total 2.8M
-rwxr-xr-x 1 jonasl users 895K Oct 8 00:28 img_0107.jpg
-rwxr-xr-x 1 jonasl users 953K Oct 8 00:28 img_0108.jpg
-rwxr-xr-x 1 jonasl users 939K Oct 8 00:28 img_0109.jpg
2004-10-08_Detta_är_en_liten_testmapp/raw:
total 0
jonasl@jaegermeister:[~/local_photo]>
Hoppas att någon blev gladare i alla fall!
//JonasL






