KERNEL=="sdb1", SUBSYSTEM=="block", ATTR{size}=="63395840", NAME="SDcard_camcorder", RUN+="/usr/bin/zprocess_sd.sh" KERNEL=="sdb1", SUBSYSTEM=="block", ATTR{size}=="7919616", NAME="SDcard_camera", RUN+="/usr/bin/zprocess_sd.sh"
udevadm info -a -p `udevadm info -q path -n /dev/sdb`
#!/bin/bash { sleep 10 su igor -c "/home/igor/scripts/move_from_sd.pl"; umount /dev/SDcard_cam*; su igor -c "/home/igor/scripts/sort.pl"; } &
#!/usr/bin/perl -w use strict; use File::Copy; use File::Find; my $today = `date +%F_%T`; my $logfile = "/mnt/tank/media/move_from_sd_$today.log"; my @mount_string = split /\s+/, `mount|grep -i sdcard`; my $to_sort_folder = "/mnt/tank/media/to_sort/"; open LOGFILE, ">>$logfile" or die "Cannot create logfile: $!"; select LOGFILE; if (defined $mount_string[2]) { print "SD card is mounted on $mount_string[2]\n"; find(\&movefiles, $mount_string[2]); } else { print "SD card is not mounted!\n"; } sub movefiles { if (/(\.CR2$|\.MTS$)/) { print "Old file: $_\n"; my $newfile = $to_sort_folder . $_; print "New file: $newfile\nMoving file...\n"; if (-e $newfile) { $newfile = "$newfile"."_1"; move ($_, $newfile); print "Done! Had to rename to $newfile\n"; } elsif (move ($_, $newfile)) { print "Done!\n"; } else { print "moving $_ to $newfile failed: $!\n"; } } } `beep -D 300 -l 700 -r 5`;
#!/usr/bin/perl -w use strict; my $today = `date +%F_%T`; my $logfile = "/mnt/tank/media/sort_$today.log"; my $raw_video_dir = "/mnt/tank/media/AVCHD"; my $video_dir = "/mnt/tank/media/Videos"; my $raw_photo_dir = "/mnt/tank/media/RAW"; my $photo_dir = "/mnt/tank/media/Pictures"; my $to_sort_dir = "/mnt/tank/media/to_sort"; open LOGFILE, ">>$logfile" or die "Cannot create logfile: $!"; select LOGFILE; foreach (<$to_sort_dir/*.MTS>) { if (! /\d+_\d+\.MTS/) { print "Renaming file $_..\n"; `exiftool '-FileName<DateTimeOriginal' -d %Y%m%d_%H%M%S%%-c.%%e $_`; } } foreach (<$to_sort_dir/*.MTS>) { chdir($raw_video_dir); print "Copying video file $_ into AVCHD ($raw_video_dir) folder..\n"; `exiftool -o . '-Directory<DateTimeOriginal' -d %Y/%m/%d $_`; chdir($video_dir); print "Moving video file $_ into Videos ($video_dir) folder..\n"; `exiftool '-Directory<DateTimeOriginal' -d %Y/%m/ $_`; } foreach (<$to_sort_dir/*.CR2>) { chdir($raw_photo_dir); print "Copying photo file $_ into RAW ($raw_photo_dir) folder..\n"; `exiftool -o . '-Directory<DateTimeOriginal' -d %Y/%m/%d $_`; chdir($photo_dir); print "Moving photo file $_ into Pictures ($photo_dir) folder..\n"; `exiftool '-Directory<DateTimeOriginal' -d %Y/%m/ $_`; }
#/usr/bin/perl use strict; use warnings; use File::Find; my $today = `date +%F_%T`; my $logfile = "/mnt/tank/media/raw_conversion_$today.log"; my $photo_dir = "/mnt/tank/media/Pictures/"; my $rt_path = "/home/igor/RawTherapee/rawtherapee"; open LOGFILE, ">>$logfile" or die "Cannot create logfile: $!"; select LOGFILE; find(\&convert, $photo_dir); sub convert { if (/\.CR2$/) { print "----"x7 . "\n"; print "Converting $_ into jpeg..\n"; print (my $result = `$rt_path/rawtherapee -o . -S -j67 -c $_ 2>&1`); (my $picture = $_) =~ s/CR2/jpg/; my $pp3 = $_ . ".pp3"; if (-e "$picture") { unlink $_; unlink $pp3; } } }
#!/usr/bin/perl -w use strict; use File::Find; my $today = `date +%F_%T`; my $logfile = "/mnt/tank/media/mts_conversion_$today.log"; my $video_dir = "/mnt/tank/media/Videos"; open LOGFILE, ">>$logfile" or die "Cannot create logfile: $!"; select LOGFILE; find(\&convert, $video_dir); sub convert { if (/MTS$/) { (my $outfile = $_) =~ s/MTS/mkv/; print "Converting $_ into $outfile ...\n"; `HandBrakeCLI -e x264 -q 20 -f mkv -i $_ -o $outfile`; unlink $_; } }
Source: https://habr.com/ru/post/132492/
All Articles