summaryrefslogtreecommitdiff
path: root/usr.sbin/httpd/support/rotatelogs.c
diff options
context:
space:
mode:
Diffstat (limited to 'usr.sbin/httpd/support/rotatelogs.c')
-rw-r--r--usr.sbin/httpd/support/rotatelogs.c84
1 files changed, 0 insertions, 84 deletions
diff --git a/usr.sbin/httpd/support/rotatelogs.c b/usr.sbin/httpd/support/rotatelogs.c
deleted file mode 100644
index 08066923854..00000000000
--- a/usr.sbin/httpd/support/rotatelogs.c
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
-
-Simple program to rotate Apache logs without having to kill the server.
-
-Contributed by Ben Laurie <ben@algroup.co.uk>
-
-12 Mar 1996
-
-*/
-
-#define BUFSIZE 65536
-#define MAX_PATH 1024
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <time.h>
-#include <errno.h>
-#include <fcntl.h>
-#include <unistd.h>
-
-void main(int argc,char **argv)
- {
- char buf[BUFSIZE],buf2[MAX_PATH];
- time_t tLogEnd;
- time_t tRotation;
- int nLogFD=-1;
- int nRead;
- char *szLogRoot;
-
- if(argc != 3)
- {
- fprintf(stderr,"%s <logfile> <rotation time in seconds>\n\n",argv[0]);
-#ifdef __EMX__
- fprintf(stderr,"Add this:\n\nTransferLog \"|%s.exe /some/where 86400\"\n\n",argv[0]);
-#else
- fprintf(stderr,"Add this:\n\nTransferLog \"|%s /some/where 86400\"\n\n",argv[0]);
-#endif
- fprintf(stderr,"to httpd.conf. The generated name will be /some/where.nnnn where nnnn is the\n");
- fprintf(stderr,"system time at which the log nominally starts (N.B. this time will always be a\n");
- fprintf(stderr,"multiple of the rotation time, so you can synchronize cron scripts with it).\n");
- fprintf(stderr,"At the end of each rotation time a new log is started.\n");
- exit(1);
- }
-
- szLogRoot=argv[1];
- tRotation=atoi(argv[2]);
- if(tRotation <= 0)
- {
- fprintf(stderr,"Rotation time must be > 0\n");
- exit(6);
- }
-
- for( ; ; )
- {
- nRead=read(0,buf,sizeof buf);
- if(nRead == 0)
- exit(3);
- if(nRead < 0)
- if(errno != EINTR)
- exit(4);
- if(nLogFD >= 0 && (time(NULL) >= tLogEnd || nRead < 0))
- {
- close(nLogFD);
- nLogFD=-1;
- }
- if(nLogFD < 0)
- {
- time_t tLogStart=(time(NULL)/tRotation)*tRotation;
- sprintf(buf2,"%s.%010d",szLogRoot,(int)tLogStart);
- tLogEnd=tLogStart+tRotation;
- nLogFD=open(buf2,O_WRONLY|O_CREAT|O_APPEND,0666);
- if(nLogFD < 0)
- {
- perror(buf2);
- exit(2);
- }
- }
- if(write(nLogFD,buf,nRead) != nRead)
- {
- perror(buf2);
- exit(5);
- }
- }
- }