USB 장치 연결시 스크립트 실행


13

다른 질문이므로 중복으로 표시하지 마세요.

pendrive가 시스템에 연결될 때마다 스크립트를 실행하려고합니다. 나는 다음 질문을 그리고 그것은 작동하지만 여전히 몇 가지 문제가있다.

이것은 내 udev 규칙 파일입니다.

ACTION=="add", ATTRS{idVendor}=="8564", ATTRS{idProduct}=="1000", RUN+="/usr/local/my_script.sh"

그리고 이것은 내 스크립트입니다 :

#!/ bin / bash

env> /tmp/env.out
cp -r / media / * device-name * / * ~ / test /

두 가지 질문이 있습니다.

파일 때문에 내 USB 장치 스크립트 1.Whenver I 플러그가 실행 env.out가 생성됩니다 / tmp를 하지만 USB 장치에서 데이터를 테스트 디렉토리에 복사되지 않습니다 내가 수동으로 다음 스크립트를 실행하는 경우, 그것을 잘 작동합니다! 왜??

2. ID를 몰라도 연결된 USB 장치에서 작동하도록 규칙 파일을 좀 더 일반화하려면 어떻게해야합니까?

내 생각은 연결된 USB 장치의 모든 데이터가 컴퓨터에 연결되면 자동으로 컴퓨터로 복사하는 것입니다.

고급 감사합니다!


당신이 이것을하려고하지 않습니까? askubuntu.com/questions/474/…
virtualxtc

@virtualxtc이 제안에 감사드립니다! 그러나이 접근법에 어떤 문제가 있는지 알고 싶습니다.
널 포인터

내 스크립트에 어떤 문제가 있는지 말해 주실 수 있습니까? 왜 작동하지 않습니까?
널 포인터

또한, 나는 단지 머리를 숙였습니다. 저는 이와 같은 특정 질문이 일반적으로 askubuntu보다 수퍼 유저에게 더 적합하다는 어려운 방법을 배웠습니다.
virtualxtc

이것이 권한 문제 일 경우 수동으로 실행하려고 할 때 표시 되었습니까?
널 포인터

답변:


8

내 질문에 대답하려면 :

1. 스크립트 sudo를 실행할 권한이 필요했기 때문에 스크립트가 실행되지 않았습니다 .

이것에 대한 해결책 :

이 스크립트를 sudo실행 가능하게 만드십시오 !

다음을 사용하여 sudoers 파일 편집

sudo visudo

라인 25 후 (즉 %sudo ALL=(ALL))이 추가

username ALL=(ALL) NOPASSWD: /home/username/my_script.sh

이제 sudosudo 암호를 묻지 않고이 스크립트에서 사용할 수 있습니다

하지만이 발생할 수 있습니다 몇 가지 보안 문제가 있으므로 참조하시기 바랍니다 링크를

2. 두 번째 질문에 대한 답변 :

이 스크립트 가 연결된 모든 USB 장치에서 작동 하도록하려면 규칙 파일을 다음으로 변경하십시오.

ACTION=="add", ATTRS{idVendor}=="****", ATTRS{idProduct}=="****", RUN+="/usr/local/my_script.sh"

asterik (*)는 연결된 모든 USB 장치에 대해이 작업을 수행해야한다고 알려줍니다!

그게 다야! 스크립트가 실행 가능한지 확인하고 USB를 연결하십시오 !!

즐겨!


0

물결표를 홈 디렉토리의 전체 경로로 바꾸십시오. 이것이 작동하는지는 모르겠지만 스크립트를 직접 실행할 때 작동하지만 자동으로 실행될 때 작동하지 않는다고 말합니다. 물결표가 자동으로 실행되면 물결표는 다른 사용자에 대해 다른 값으로 해석됩니다.


질문에 대답하기 전에 의견을 읽으십시오
Null pointer

의견을 읽은 다음 질문에 대답했습니다. 내가 뭐 잘못 했어요? 특히 어떤 의견을 언급하고 있습니까?
Toby 1 Kenobi

내가 코멘트 읽어 말했다 왜 의견이 제안은 이미 주어졌다 그들은 me..that을 위해 작동하지 않았다
널 포인터

오 예, 죄송합니다. 마지막 5 개의 댓글이 숨겨져 있으며 눈치 채지 못했습니다. 내 실수!
Toby 1 Kenobi

@Nullpointer : 의견을 읽을 필요가 없도록 질문을 편집하고 질문의 완전한 정보를 유지하십시오 ... 의견은 질문의 일부가 아닙니다 ... ;-)
Fabby

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.