Сортировка файлов в папке в датированные папки

Я пытаюсь организовать файлы изображений веб-камеры в папки, иначе я получаю тысячи изображений в одной папке.

У меня есть сценарий foscam-move.sh (от создания подкаталогов и организации файлов по дате ) со следующим:

#!/bin/bash for x in *.jpg; do d=$(date -r "$x" +%Y-%m-%d) mkdir -p "$d" mv -- "$x" "$d/" done 

У меня есть сценарий, расположенный в папке со всеми файлами .jpg.

Когда я запускаю его в терминале, все прекрасно, и он красиво организует его.

Когда я добавляю следующую задачу cron, она не запускается.

 * * * * * /home/pi/Desktop/FI9821W_************/snap/foscam-move.sh # JOB_ID_2 

Я собираюсь запускать каждую минуту, потому что у этой камеры много фотографий.

Как мне заставить cron запускать мой скрипт каждую минуту?

2 Solutions collect form web for “Сортировка файлов в папке в датированные папки”

cron не работает с той же средой, что и ваш пользователь. Вероятно, есть проблемы, потому что это не в правильной директории. Перед выполнением цикла for создайте свой скрипт cd в каталоге, содержащем изображения.

Работы Cron начинаются с текущего рабочего каталога, являющегося домашним каталогом пользователя.

Когда вы выполняете скрипт, он не автоматически меняет рабочий каталог на родителя скрипта. Для этого вам нужно сделать cd в скрипте:

 #! /bin/sh - cd -P -- "$(dirname -- "$0")" || exit # rest of your script that has nothing bash-specific in it # by the way. 

Или, поскольку этот сценарий не является специфичным для папки, которую вы хотите запустить, сохраните ее в общем месте (например, ~/bin ) и передайте путь каталога как аргумент:

 #! /bin/sh - cd -P -- "${1?no directory provided}" || exit # ... 
  • Что означает «FILENAME = $ (echo $ INFILE | grep -oE» + $ ")" означает?
  • Как разрезать текстовый файл на несколько файлов по 100 строк каждый?
  • Сценарий Bash для подключения к интернету Teletalk
  • regexp в ksh для расширений tgz, tar.tgz
  • Что такое быстрый способ командной строки для переключения между несколькими каталогами для системного администрирования?
  • Приглашение командной строки Linux ssh
  • sh + как использовать массив в sh-скрипте для печати всех значений в массиве
  • Ожидание двух событий
  • Могу ли я получить правильный $ PATH при выполнении sudo -u db2inst -sh "db2"?
  • Loop до тех пор, пока grep не найдет текст в файле
  • выход ограничения на выход И избежать сигнала 13
  • Linux и Unix - лучшая ОС в мире.