LINUX.ORG.RU

Автоматическое создание папки для архивных записей

 , ,


0

2

Всем привет!

Есть sh скрипт с таким содержимым:

cvlc rtsp://root:root@192.168.x.x:554/axis-media/media.amp :sout="#std{access=file,mux=asf,dst=/media/ARCHIVE/cam1/$(date +'%y-%m-%d--%H_%M').avi}" --run-time 3605

который пишет часовые куски видео и складывает их в папку cam1. В результате папка очень быстро наполняется файлами, что не очень удобно.

Вопрос: что нужно дописать в скрипте чтобы он автоматически создавал в папке cam1 папку вида «год-месяц-день» и складывал записи каждый день в новую папку.

Спасибо заранее.



Последнее исправление: NGNeer (всего исправлений: 1)

scaner-run

#!/bin/bash

# Чтобы узнать модель вашего сканера, дайте в консоли команду scanimage -L | awk '{print $2}'

# Разрешение в скрипте вписано исходя из возможностей сканера
# Узнать разрешение можно командой scanimage -d ваш_сканер --help
# соответственно, необходимо исправить скрипт в строке выбора разрешений

file_time=$(date +%d-%m-%Y_%H-%M-%S)
scans_dir="/mnt/data/scans/"
var_y=$(date +%Y)
var_m=$(date +%m)
var_d=$(date +%d)

 
 
# Проверка наличия изпользуемых в скрипте приложений
if [[ ! -f $(which scanimage) ]] || [[ ! -f $(which convert) ]]; then
 
#  zenity --error --title="Скрипт сканирования" --text="Не установлено приложение sane или imagemagick\n\nПопробуйте установить из репозитория\nнеобходимые приложения и повторите попытку\!" --timeout="5" &
	echo "Нет sane или imagemagick"
    exit 0;
 
fi
 

if ! [ -f $scans_dir'scaner' ]; then
#Файл с предварительно определённым сканером не найден


echo "Поиск сканера..."


 
	#device=$(scanimage -L | awk '{print $2}' | grep pixma:04A92660_255AD2132201 | sed "s/[\`']//g");

	scaners=$(scanimage -L | grep device)

	device=$(echo $scaners | awk '{print $2}' | sed "s/[\`']//g" )
	echo "Найден сканер " $device
	echo "Можно создать файл " $scans_dir'scaner' и написать в него строку $device

	#Поиск сканера
fi

if [ -f $scans_dir'scaner' ]; then
	echo "Сканер определён заранее содержимым файла " $scans_dir'scaner'
	device=$(cat $scans_dir'scaner')
	echo "Сканер" $device
	echo "Если сканер определён не правильно, удалите этот файл."
fi
 
if [[ $device != "" ]]; then

echo "Сканирование..."
 
# Выбор разрешения (dpi)
dpi=300
 

# Сканирование

        file_time=$(date +%d-%m-%Y_%H-%M-%S) ;
 
        scanimage --mode Color --resolution $dpi --device-name=$device > /tmp/$file_time.pnm ;
 
	
	echo "Сканирование завершено"

 
	# Конвертирование всех pnm из каталога /tmp/ в jpg
	echo "Конвертация в jpeg..."

	convert /tmp/$file_time'.pnm' /tmp/$file_time'.jpeg'
	echo "Конвертация в закончена"
 
	# Удаляем pnm в кателоге /tmp
	echo "Удаление pnm..."
    	rm /tmp/$file_time'.pnm';
 

	echo "Перемещение файлов"

	# Создание подкаталогов если их нет.
	if ! [ -d $scans_dir$var_y ]; then
		mkdir $scans_dir$var_y
		chmod 777 $scans_dir$var_y
	fi
	if ! [ -d $scans_dir$var_y$'/'$var_m ]; then
		mkdir $scans_dir$var_y$'/'$var_m
		chmod 777 $scans_dir$var_y$'/'$var_m
	fi
	if ! [ -d $scans_dir$var_y$'/'$var_m'/'$var_d ]; then
		mkdir $scans_dir$var_y$'/'$var_m'/'$var_d
		chmod 777 $scans_dir$var_y$'/'$var_m'/'$var_d
	fi
	
	cp /tmp/$file_time'.jpeg' $scans_dir$var_y'/'$var_m'/'$var_d'/'
	chmod 777 $scans_dir$var_y'/'$var_m'/'$var_d'/'$file_time'.jpeg'
	rm -f /tmp/$file_time'.jpeg'
	
else



 
# Если сканер не обнаружен
	echo "Сканер не подключен"
 
# Ни и для шику пищим системным биппером (необходимо установленное приложение beep)
    if [[ -f $(which beep) ]]; then
        beep -f 440,00 -l 100 ;
        beep -f 391,99 -l 100 ;
        beep -f 261,63 -l 100 ;
        beep -f 1 -l 1000 ;
    fi
fi

echo "Завершено, файлы находятся в каталоге " $scans_dir$var_y'/'$var_m'/'$var_d'/'
exit 0 ;

select-scaner

#!/bin/bash
scans_dir="/mnt/data/scans/"
echo "Выбор сканера. Поиск сканеров..."
scanimage -L | awk '{print $2}' | sed "s/[\`']//g"  > /tmp/scan-select.tmp
echo "--- Список найденных сканеров ---"
cat /tmp/scan-select.tmp
echo "--- --- ---"
echo "Введи номер сканера"
read n

echo "Выбран сканер" $( sed -n $n'p' /tmp/scan-select.tmp)

echo $(sed -n $n'p' /tmp/scan-select.tmp) > $scans_dir'scaner'

rezedent12 ☆☆☆
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.