Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Автоматическое копирование на флешку  (Прочитано 797 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Kazaf

  • Автор темы
  • Новичок
  • *
  • Сообщений: 33
    • Просмотр профиля
Добрый день.
Нужна помощь. Решил для машины завести отдельную флешку (вообще-то подключаю телефон AUX кабелем, но по некоторым причинам это сейчас не работает), чтобы на нее автоматически копировать собственно музыку и подкасты. Флешка 8гб, Transcend. Файлы для копирования лежат в домашнем каталоге (/home/$username/UTILS/car_playlist/), на флешке 1 раздел, в системе выглядит как /dev/sdb1, монтируется в /media/$username/USB_FLASH_T
Написал carmusic.service.
[Unit]
Description=Custom service to automated copy
BindsTo=dev-disk-by\x2did-usb\x2dJetFlash_Transcend_8GB_01QHPWDA1RLK098X\x2d0:0.device
After=dev-disk-by\x2did-usb\x2dJetFlash_Transcend_8GB_01QHPWDA1RLK098X\x2d0:0.device
Required=dev-disk-by\x2did-usb\x2dJetFlash_Transcend_8GB_01QHPWDA1RLK098X\x2d0:0.device

[Service]
Type=oneshot
ExecStart=/usr/local/bin/car_music

[Install]
WantedBy=dev-disk-by\x2did-usb\x2dJetFlash_Transcend_8GB_01QHPWDA1RLK098X\x2d0:0.device

Скрипт:
#!/bin/bash

cp -r /home/$username/UTILS/car_playlist/* /media/$username/USB_FLASH_T

Флешка монтируется, но на нее ничего не копируется. ЧЯДНТ?
« Последнее редактирование: 25 Март 2017, 13:26:40 от Kazaf »
<Место под глубокомысленный бред>__________</Место под глубокомысленный бред>

Оффлайн victor00000

  • Забанен
  • Старожил
  • *
  • Сообщений: 15570
  • Глухонемой (Deaf)
    • Просмотр профиля
Re: Автоматическое копирование на флешку
« Ответ #1 : 25 Март 2017, 13:34:21 »
Цитировать
cp -r /home/$username/UTILS/car_playlist/* /media/kazaf/USB_FLASH_T
cp -r ... || echo ERROR >> /tmp/error.log
Нельзя друзья, дулу - AnrDaemon видите?
~.o

Оффлайн Kazaf

  • Автор темы
  • Новичок
  • *
  • Сообщений: 33
    • Просмотр профиля
Re: Автоматическое копирование на флешку
« Ответ #2 : 25 Март 2017, 13:52:49 »
Сделал. Получил в файлике /tmp/error.log ERROR.
В journalctl строка cp: указанная цель '/media/kazaf/USB_FLASH_T' не является каталогом
Что не так с моей командой копирования? Если я пишу ее просто в консоли, все работает.
И еще вопрос: как правильно сделать так, чтобы carmusic.service висел в памяти все время, но активировался только при монтировании флешки?
<Место под глубокомысленный бред>__________</Место под глубокомысленный бред>

Оффлайн victor00000

  • Забанен
  • Старожил
  • *
  • Сообщений: 15570
  • Глухонемой (Deaf)
    • Просмотр профиля
Re: Автоматическое копирование на флешку
« Ответ #3 : 25 Март 2017, 14:03:18 »
ещё
cp -rv ... 2>>/tmp/error.log
Нельзя друзья, дулу - AnrDaemon видите?
~.o

Оффлайн Kazaf

  • Автор темы
  • Новичок
  • *
  • Сообщений: 33
    • Просмотр профиля
Re: Автоматическое копирование на флешку
« Ответ #4 : 25 Март 2017, 14:10:24 »
Прошу прощения, проглядел опечатку в скрипте. Все нормально с копированием, проходит. После исправления ошибки сделал systemctl restart carmusic.service при подключенной флешке, копирование произошло. Так что с самим скриптом все в порядке.

Теперь другой вопрос. Я отключил флешку, сделал systemctl restart carmusic.service и висящий терминал. Как правильно сделать так, чтобы этот процесс висел в фоне, не требуя при старте примонтированной флешки? Я бы хотел, чтобы он стартовал с системой (systemctl enable я уже написал), а когда  я вставляю флешку - начинал копирование. Можно так сделать и если да, как это сделать лучше, не городя костылей?
<Место под глубокомысленный бред>__________</Место под глубокомысленный бред>

Оффлайн victor00000

  • Забанен
  • Старожил
  • *
  • Сообщений: 15570
  • Глухонемой (Deaf)
    • Просмотр профиля
Re: Автоматическое копирование на флешку
« Ответ #5 : 25 Март 2017, 14:18:53 »
cp -r ... 2>/tmp/error.log
покажи cat /tmp/error.log
Нельзя друзья, дулу - AnrDaemon видите?
~.o

Оффлайн Kazaf

  • Автор темы
  • Новичок
  • *
  • Сообщений: 33
    • Просмотр профиля
Re: Автоматическое копирование на флешку
« Ответ #6 : 25 Март 2017, 14:22:15 »
Файл пустой. Копирование прошло без ошибок, на флешке все файлы есть. С этим вопросов не осталось, я же выше написал :-) Там была у меня в скрипте опечатка в пути.
<Место под глубокомысленный бред>__________</Место под глубокомысленный бред>

Оффлайн victor00000

  • Забанен
  • Старожил
  • *
  • Сообщений: 15570
  • Глухонемой (Deaf)
    • Просмотр профиля
Re: Автоматическое копирование на флешку
« Ответ #7 : 25 Март 2017, 14:31:22 »
пауза 2 секунд потом копирует.
#!/bin/bash

sleep 2

cp -r /home/$username/UTILS/car_playlist/* /media/$username/USB_FLASH_T
Нельзя друзья, дулу - AnrDaemon видите?
~.o

Оффлайн Kazaf

  • Автор темы
  • Новичок
  • *
  • Сообщений: 33
    • Просмотр профиля
Re: Автоматическое копирование на флешку
« Ответ #8 : 25 Март 2017, 14:40:47 »
А как мне поможет пауза перед копированием? Может, я чего-то не понимаю, конечно...
Вот как это должно выглядеть: мой комп постоянно включен. Я вставил флешку, сервис просыпается, копирует, засыпает. Если я вставляю флешку еще раз, происходит то же самое.
А сейчас мне нужно вставить флешку, в консоли ввести systemctl start carmusic, тогда все работает. Но если мне нужно вводить это каждый раз, так мне проще просто скрипт в ~/ положить и руками его каждый раз запускать. Это не то.
<Место под глубокомысленный бред>__________</Место под глубокомысленный бред>

Оффлайн victor00000

  • Забанен
  • Старожил
  • *
  • Сообщений: 15570
  • Глухонемой (Deaf)
    • Просмотр профиля
Re: Автоматическое копирование на флешку
« Ответ #9 : 25 Март 2017, 14:50:59 »
#!/bin/bash

env > /tmp/env.txt

cp -r /home/$username/UTILS/car_playlist/* /media/$username/USB_FLASH_T
покажи /tmp/env.txt
Нельзя друзья, дулу - AnrDaemon видите?
~.o

Оффлайн Kazaf

  • Автор темы
  • Новичок
  • *
  • Сообщений: 33
    • Просмотр профиля
Re: Автоматическое копирование на флешку
« Ответ #10 : 25 Март 2017, 14:55:08 »
Вот что получил:
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
PWD=/
LANG=ru_RU.UTF-8
SHLVL=1
_=/usr/bin/env
<Место под глубокомысленный бред>__________</Место под глубокомысленный бред>

Оффлайн victor00000

  • Забанен
  • Старожил
  • *
  • Сообщений: 15570
  • Глухонемой (Deaf)
    • Просмотр профиля
Re: Автоматическое копирование на флешку
« Ответ #11 : 25 Март 2017, 15:01:35 »
ls -l /tmp/env.txt
?
Нельзя друзья, дулу - AnrDaemon видите?
~.o

Оффлайн Kazaf

  • Автор темы
  • Новичок
  • *
  • Сообщений: 33
    • Просмотр профиля
Re: Автоматическое копирование на флешку
« Ответ #12 : 25 Март 2017, 15:03:56 »
-rw-r--r--. 1 root root 101 мар 25 14:54 /tmp/env.txt
<Место под глубокомысленный бред>__________</Место под глубокомысленный бред>

Оффлайн victor00000

  • Забанен
  • Старожил
  • *
  • Сообщений: 15570
  • Глухонемой (Deaf)
    • Просмотр профиля
Re: Автоматическое копирование на флешку
« Ответ #13 : 25 Март 2017, 15:08:59 »
#!/bin/bash

echo "= $@ =" > /tmp/echo.txt

cp -r /home/$username/UTILS/car_playlist/* /media/$username/USB_FLASH_T

/tmp/echo.txt
?
Нельзя друзья, дулу - AnrDaemon видите?
~.o

Оффлайн Kazaf

  • Автор темы
  • Новичок
  • *
  • Сообщений: 33
    • Просмотр профиля
Re: Автоматическое копирование на флешку
« Ответ #14 : 25 Март 2017, 15:19:07 »
=  =
<Место под глубокомысленный бред>__________</Место под глубокомысленный бред>

 

Страница сгенерирована за 0.262 секунд. Запросов: 23.