问题

问题

raspberry pi 3我在我的linux上安装了 samba 服务: Jessie (Debian 8)

smb配置文件

[global]
  netbios name = medicalexporter
  workgroup = WORKGROUP

  public = yes

  # Run a WINS server
  wins support = yes

  local master = yes
  preferred master = yes
  os level = 65

  log level = 10
  log file = /home/pi/logs/samba.log.%m

[SambaTest]
  comment = Samba-Test-Freigabe
  path = /home/pi/shares/test
  read only = no

[pdfCreatorLinux]
  path = /tmp
  printable = yes
  guest ok = yes
  print command = /usr/bin/printpdf %s
  lpq command =
  lprm command =

/usr/bin/printpdf

#!/bin/sh
LOG_FILE=/home/pi/logs/pdf.log
exec 3>&1 1>>${LOG_FILE} 2>&1
DATE="date +%b%d-%H%M%S"
OUTDIR=/home/pi/shr/pdfdropbox

"hello" >> /home/pi/logs/2.log
ps2pdf $1 \$OUTDIR/\$DATE.temp
mv \$OUTDIR/\$DATE.temp \$OUTDIR/\$DATE.pdf
rm \$1

出于测试目的,我授予此脚本777权限sudo chmod 777 /usr/bin/printpdf

桑巴文件夹

mkdir -p ~/shr/pdfdropbox
chown root:root ~/shr/pdfdropbox
chmod u+rwx ~/shr/pdfdropbox

samba 服务有一个用户并且smbd&nmbd正在运行。我可以在我的 mac 下看到 samba 服务sharing并访问共享文件夹。我在网络打印机下看到了打印机。当我通过 samba 打印机打印文档时,它显示它正在连接、发送数据并且数据已正确接收。

/usr/bin/printpdf似乎没有被执行。/home/pi/logs除了来自 samba 本身的日志(两个日志,一个带有我的计算机名称,另一个带有 IP)之外,没有任何内容。

当我手动启动 pdf 脚本时,会创建日志。

PS:我主要坚持那个教程: http://www.tldp.org/LDP/LG/issue72/bright.html

问题

为什么脚本没有执行?

答案1

我相信这一行有一个错误:

"hello" >> /home/pi/logs/2.log

你可能想尝试

echo "hello" >> /home/pi/logs/2.log

并且您$在脚本的其余部分中引用了 s 。我会尝试删除\s。并引用完整的文件名。

结束于:

echo "hello" >> /home/pi/logs/2.log
ps2pdf "$1" "$OUTDIR/$DATE.temp"
mv "$OUTDIR/$DATE.temp" "$OUTDIR/$DATE.pdf"
rm "$1"

在脚本的后半部分

答案2

所以我发现了很多东西。首先我需要添加printing = BSD也许否则使用 CUPS覆盖设置。然后我需要进行设置printcap name = /dev/null,否则 Ghostscript 文件会在我访问它们之前消失。和lpq命令lpr在不需要的地方。

[pdfCreatorLinux2]
#  load printers = no
  printcap name = /dev/null
  path = /tmp/
  printable = yes
  printing = BSD
  print command = /usr/bin/printpdf %s
#  lpq command =
#  lprm command =

其次,所有脚本和文件夹必须可供 samba 服务的用户访问。

PS:我还调整了pdf脚本,但这不是它没有执行的原因。

#!/bin/sh
LOG_FILE=/home/pi/logs/pdf.log
exec 3>&1 1>${LOG_FILE} 2>>&1
DATE=$(date +"%m_%d_%Y")
OUTDIR="/home/pi/shr/pdfdropbox"

ps2pdf $1 "$OUTDIR/$DATE.temp"
mv $OUTDIR/$DATE.temp $OUTDIR/$DATE.pdf
rm $1

相关内容