I've had some interest in a patch for FastCGI support so I've attached it to
this message. It is also available at:
http://users.k12system.com/mrwizard/backuppc-3.2.0-fastcgi.patch
(I'm not subscribed to the list, so any responses should be copied to me)
It's a one line change to the Lib.pm to allow for a CGI object to be passed in.
If it's not passed it does a new CGI() call like it always has. This allows
the fastcgi handler to pass in the CGI::Fast object when being run in FastCGI
mode.
The fcgi version is similar to the cgi version, just with the initialization
stuff moved outside the loop. (and a loop)
I use this patch with lighttpd to provide a persistent FCGI presence for
BackupPC. It provides advantages, since I can use a UNIX socket to pass
requests, I don't require setuid permissions on the executable since I can use
spawn-fcgi to run the processes under the correct UID. Plus, since actions are
included with require within the CGI, the longer the process lives the more of
the program will be compiled in memory.
In lighttpd I can call it like so:
$HTTP["url"] =~ "/backuppc" {
index-file.names = ( "index.fcgi" )
fastcgi.server = ( "index.fcgi" => (( "socket" => "/tmp/.fcgi_backuppc",
"broken-scriptfilename" => "enable" )) )
}
Where index.fcgi is a blank 0-length file. (It just has to exist. You can run
the CGI from anywhere, and you'll do that when you launch the process with
spawn-fcgi... Mine lives in /usr/share/backuppc)
I wouldn't mind seeing this included in upstream.
Thanks!
Joe
------------------------------------------------------------------------------
Free Software Download: Index, Search & Analyze Logs and other IT data in
Real-Time with Splunk. Collect, index and harness all the fast moving IT data
generated by your applications, servers and devices whether physical, virtual
or in the cloud. Deliver compliance at lower cost and gain new business
insights. http://p.sf.net/sfu/splunk-dev2dev
_______________________________________________
BackupPC-devel mailing list
[email protected]
List: https://lists.sourceforge.net/lists/listinfo/backuppc-devel
Wiki: http://backuppc.wiki.sourceforge.net
Project: http://backuppc.sourceforge.net/