samba: ปรับปรุงสร้างปรินเตอร์เทียม
จากคราวก่อนเรื่อง สร้างปรินเตอร์เทียมพิมพ์ลงไฟล์ Tiff
หลังจากเริ่มเอา lenny มาใช้กับเซิร์ฟเวอร์ ผ่านการอัปเกรด/ดาวน์เกรดแพกเกจ samba หลายครั้ง พบว่าปรินเตอร์เริ่มทำงานรวนเร
สุดท้ายกลายเป็นเขียนสคริปต์แยกออกมาดีกว่า สรุปดังนี้คือ
มีปรินเตอร์ 3 ตัว
- FaxOut เอาไว้เก็บสำเนาแฟกซ์ส่งออก
- FaxIn เอาไว้เก็บสำเนาแฟกซ์เข้า
- PrintToPDF เอาไว้เก็บสำเนาแผนที่ (รวมทั้งอาจทำ annotate เพิ่มได้จาก Inkscape)
ในการพิมพ์แต่ละตัว จะแยกโฟลเดอร์ไปเป็นรายปีและรายเดือนตามลำดับ โดยตั้งชื่อเป็นวันที่วันที่พิมพ์
รายละเอียดดังนี้
ส่วนของ samba
$ sudo vi /etc/samba/smb.conf
... [FaxOut] path = /samba/data/smbprn/tif create mask = 0777 printing = bsd printable= yes Print command = "/usr/local/bin/d.faxout %s" [FaxIn] path = /samba/data/smbprn/tif create mask = 0777 printing = bsd printable= yes Print command = "/usr/local/bin/d.faxin %s" [PrintToPDF] path = /samba/data/smbprn/tif create mask = 0777 printing = bsd printable= yes Print command = "/usr/local/bin/d.printtopdf %s" ...
$ sudo /etc/init.d/samba restart
ส่วนของสคริปต์
$ cd /usr/local/bin
$ sudo vi d.faxout
#!/bin/bash ROOT="/samba/data" FAXROOT="$ROOT/FaxOut" LOG="$ROOT/smbprn/tif" DATE=`date +%F` MONTH=`date +%m` let "YEAR=`date +%G` + 543" TARGET="$FAXROOT/$YEAR/$MONTH" mkdir -p $TARGET chmod 777 $TARGET gs -dBATCH -sDEVICE=tiffg3 -sOutputFile="$TARGET/$DATE-%s.tif" %s > $LOG/smb-FaxOut.log rm %s
$ sudo vi d.faxin
#!/bin/bash ROOT="/samba/data" FAXROOT="$ROOT/FaxIn" LOG="$ROOT/smbprn/tif" DATE=`date +%F` MONTH=`date +%m` let "YEAR=`date +%G` + 543" TARGET="$FAXROOT/$YEAR/$MONTH" mkdir -p $TARGET chmod 777 $TARGET gs -dBATCH -sDEVICE=tiffg3 -sOutputFile="$TARGET/$DATE-%s.tif" %s > $LOG/smb-FaxIn.log rm %s
$ sudo vi d.printtopdf
#!/bin/bash ROOT="/samba/data" FAXROOT="$ROOT/PrintToPDF" LOG="$ROOT/smbprn/tif" DATE=`date +%F` MONTH=`date +%m` let "YEAR=`date +%G` + 543" TARGET="$FAXROOT/$YEAR/$MONTH" mkdir -p $TARGET chmod 777 $TARGET gs -dBATCH -sDEVICE=pdfwrite -sOutputFile="$TARGET/$DATE-%s.pdf" %s > $LOG/smb-PrintToPDF.log rm %s
$ sudo chmod 755 d.faxout d.faxin d.printtopdf
ส่วนของการแมปเครื่องพิมพ์
$ sudo lpadmin -p FaxOut -u allow:all -E -v smb://$USER:$PASSWORD@server/FaxOut
$ sudo lpadmin -p FaxIn -u allow:all -E -v smb://$USER:$PASSWORD@server/FaxIn
$ sudo lpadmin -p PrintToPDF -u allow:all -E -v smb://$USER:$PASSWORD@server/PrintToPDF
เสร็จแล้ว
(ลองกับเซิร์ฟเวอร์ lenny ลูกข่าย sid)
- Printer-friendly version
- Log in or register to post comments
- 3171 reads
Recent comments