폴더를 확인하고 파일을 인쇄한 후 삭제하는 스크립트

폴더를 확인하고 파일을 인쇄한 후 삭제하는 스크립트

특정 폴더를 확인하고 모든 문서를 인쇄한 다음 해당 문서를 삭제하는 스크립트를 만드는 방법에 대한 지침을 찾고 있습니다. 또한 이 스크립트를 크론 작업으로 실행하고 싶습니다.

내가 이 작업을 수행하려는 이유는 현재 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으로 실행하거나 실제 파일로 실행하지 마십시오.

관련 정보