On 22/08/14 11:35, Sven Hartge wrote:
> Tony van der Hoff <t...@vanderhoff.org> wrote:
> 
>> Running up-to-date Wheezy.
> 
>> I have a script, simplified like this:
> 
>> -----------------------------
>> #!/bin/bash
>> DEBUG=1
> 
>> OUT=/dev/null
> 
>> if [ $DEBUG -ne 0 ]; then
>>        OUT=/dev/stdout
>> fi
> 
>> echo hello > $OUT
>> -----------------------------
> 
>> This works fine when invoked from the command line, but when called as a
>> cron task, same user, it fails with
>> /home/tony/scripts/test: line 10: /dev/stdout: Permission denied
> 
> What is /dev/stdout on your system? It should look like this:
> 
> ~$ ls -al /dev/stdout
> lrwxrwxrwx 1 root root 15 Aug  6 23:06 /dev/stdout -> /proc/self/fd/1
> 
> Maybe the symlink was replaced by a file with insufficient permissions,
> thus the error.
> 
> If that is the case, please remove the file and recreate the symlink.
> (Or reboot, since /dev should be on a tmpfs the symlink will be created
> at boot time.)
> 
> _If_ the symlink is correctly in place as show above, please provide the
> output of "ls -ald /dev", maybe the permissions to /dev are wrong.

Cron task is invoked from a simple crontab entry:
# /home/tony/crontab -- crontab for user tony
MAILTO=t...@vanderhoff.org
SHELL=/bin/sh
<snip>
* * * * *       /home/tony/scripts/test


tony@tony-fr:~$ ls -al /dev/stdout
lrwxrwxrwx 1 root root 15 Aug 21 17:30 /dev/stdout -> /proc/self/fd/1

tony@tony-fr:~$ ls -ald /dev
drwxr-xr-x 15 root root 3340 Aug 21 17:30 /dev


Thanks for your help

-- 
Tony van der Hoff  | mailto:t...@vanderhoff.org
Ariège, France     |


-- 
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: https://lists.debian.org/53f710fb.7010...@vanderhoff.org

Reply via email to