Hi, On 01/24/01(16:56) you Steffen Kaiser <p4mbqbdyi-mxhgu44oih3w.ml@delegate.org> wrote in <_A995@delegate-en.ML_> |delegate/6.1.22 on Sparc/Solaris 7. | |The call includes the option: CRON="0 3 * * * -expire +4" | |However delegate does not remove nothing, the only thing in the logfile |is this ($DGROOT/log/expire.log): ... |I have another delegate running on a Linux box including the same option, |where it works. | |The only difference I see is that the "cache" subdirectory within DGROOT |is a symbolic link on the Solaris box: ... |lrwxrwxrwx 1 root other 24 Sep 22 09:00 cache -> |/mnt/temp/delegate-cache A simple solution for a while is specifying the cache directry with a full path like CACHEDIR="/mnt/temp/delegate-cache". But I don't like to recommend using explicit CACHEDIR parameter, and making cache directory be pointed from symbolic link under DGROOT is a usual manner, so I'll support it in the next release (DeleGate/7.0.1) like the enclosed patch. Cheers, Yutaka -- Yutaka Sato <ptarqbth4-mxhgu44oih3w.ml@delegate.org> http://www.delegate.org/~ysato/ @ @ Computer Science Division, Electrotechnical Laboratory ( - ) 1-1-4 Umezono, Tsukuba, Ibaraki, 305-8568 Japan _< >_ *** ../../delegate7.0.0/src/croncom.c Fri Jan 5 16:38:27 2001 --- croncom.c Fri Jan 26 17:04:19 2001 *************** *** 22,27 **** --- 22,37 ---- #include "delegate.h" extern char *DELEGATE_EXPIRELOG; extern char *cachedir(); + char *getcachedir(path,size) + char *path; + { char *cdir; + + if( (cdir = cachedir()) == NULL ) + return NULL; + if( 0 <= Readlink(cdir,path,size) ) + return path; + else return cdir; + } typedef struct { int ce_crons[256]; *************** *** 95,100 **** --- 105,111 ---- { int pid; char *av[32],ab[8][128]; int ac,ai,aj; + char cpath[1024]; pid = 0; if( act[0] == 0 ){ *************** *** 139,145 **** ac = 0; av[ac++] = "-Fexpire"; ! av[ac++] = cachedir(); av[ac++] = "-rm"; av[ac++] = "-atime"; av[ac++] = period; --- 150,156 ---- ac = 0; av[ac++] = "-Fexpire"; ! av[ac++] = getcachedir(cpath,sizeof(cpath)); av[ac++] = "-rm"; av[ac++] = "-atime"; av[ac++] = period;