특정 폴더를 확인하고 모든 문서를 인쇄한 다음 해당 문서를 삭제하는 스크립트를 만드는 방법에 대한 지침을 찾고 있습니다. 또한 이 스크립트를 크론 작업으로 실행하고 싶습니다.
내가 이 작업을 수행하려는 이유는 현재 PDF 송장을 동적으로 생성하여 폴더에 저장하는 PHP 웹 응용 프로그램이 있지만 웹에서 이러한 문서를 자동으로 인쇄할 수 없기 때문입니다(보안/휴지통 문제로 인해 이메일 문제인 것 같습니다). .
언어 기본 설정은 없지만 이상적으로는 인쇄할 사본 수, 프린터에서 사용할 트레이 등을 제어할 수 있는 스크립트를 원합니다.
답변1
나는 이것을 테스트하지 않았지만 다음과 같이 작동합니다.
cd some-directory
for file in *.pdf ; do
lp -n2 # number of copies
-o media=a4\ # media
-o number-up=2\ # number of pages per sheet
-o fit-to-page\ # scale to page
-o sides=two-sided-long-edge\ # duplex (can be 'one-sided')
-o tray1\ # tray
-d SomePrinter\ # device
"$file"
rm "$file"
done
컵을 사용하려면 먼저 컵을 설치하고 구성해야 합니다 lp
. 일반 옵션에 대한 자세한 내용은 lp
맨페이지( )를 참조하십시오.man lp
이러한 파일을 보관하고 해당 파일이 인쇄된 것을 확인한 후에 삭제할 수 있습니다.
이렇게 하려면 rm "$file"
다음으로 바꾸세요.
mkdir archived
mv "$file" archived
에서 언급했듯이안톤의 코멘트, 크론 작업과 애플리케이션이 서로 간섭하지 않도록 일종의 파일 잠금을 구현하는 것이 좋습니다. 이를 위해 당신은여러 가지 옵션. flock
아마도 최선의 선택일 것입니다. 탁월한 PHP 지원을 제공합니다.
이 스크립트를 cronjob에 직접 넣을 수 있습니다. /usr/bin
및 를 포함하도록 경로를 설정하십시오 /bin
.
스크립트가 작동하는지 확인할 때까지 스크립트를 cronjob으로 실행하거나 실제 파일로 실행하지 마십시오.