On Jan 25, 2008 11:44 AM, <[EMAIL PROTECTED]> wrote: > I'd typically do > > #!/bin/sh > { > DELIVER=... > echo "==" > echo $DATE > ... > } >> /tmp/foo.txt 2>&1
Thanks, I wasn't aware of the curly bracket trick. STRACE found the problem for me! It was something completely unexpected. Patsing my script here for future reference for anyone: #!/bin/sh { DELIVER=/usr/local/libexec/dovecot/deliver STRACE=/usr/local/bin/strace DATE=`date` echo "==" /usr/bin/env echo $DATE echo $LOGNAME $STRACE $DELIVER -d "$LOGNAME" echo $DATE } >> /tmp/foo.txt 2>&1 So, doing this, near the end of the STRACE gave me: open("/var/log/dovecot-lda.log", O_WRONLY|O_APPEND|O_CREAT, 0666) = 6 lseek(6, 0, SEEK_END) = 51237618 fcntl(6, F_GETFD) = 0 fcntl(6, F_SETFD, FD_CLOEXEC) = 0 open("/var/log/dovecot-lda.log", O_WRONLY|O_APPEND|O_CREAT, 0666) = 7 lseek(7, 0, SEEK_END) = 51237618 fcntl(7, F_GETFD) = 0 fcntl(7, F_SETFD, FD_CLOEXEC) = 0 fstat(7, {st_mode=0, st_size=0, ...}) = 0 gettimeofday({0, 0}, NULL) = 0 access("/etc/localtime", R_OK) = 0 open("/etc/localtime", O_RDONLY) = 8 fstat(8, {st_mode=S_IFCHR|S_ISUID|S_ISGID|S_ISVTX|045, st_rdev=makedev(37, 842006560), ...}) = 0 read(8, "\377\377\377\377\377\377\377\377\377\377\377\377\377\377"..., 7944) = 1279 close(8) = 0 write(7, "deliver(username): Jan 25 12:58:"..., 100) = -1 EFBIG (File too large) --- SIGXFSZ (Filesize limit exceeded: 25) --- --- SIGXFSZ (Filesize limit exceeded: 25) --- syscall_417(0xbfbfe820) = -1 (errno 27) exit(75) = ? So, the issue was that SOMETHING is enforcing /var/log/dovecot-lda/log size! I was able to get this working by rotating, and the solution will be to constantly rotate, but I still need to figure out what's enforcing this. - I have no filesystem quotas enabled (FreeBSD) and never have. - I could not find any 'max file size' type of settings in dovecot. Even if there were, I don't know why this would be the default behavior! So, anyone have thoughts as to what's enforcing the "Filesize limit exceeded: 25"? --falz