Server IP : 127.0.0.2 / Your IP : 18.190.207.156 Web Server : Apache/2.4.18 (Ubuntu) System : User : www-data ( ) PHP Version : 7.0.33-0ubuntu0.16.04.16 Disable Function : disk_free_space,disk_total_space,diskfreespace,dl,exec,fpaththru,getmyuid,getmypid,highlight_file,ignore_user_abord,leak,listen,link,opcache_get_configuration,opcache_get_status,passthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,php_uname,phpinfo,posix_ctermid,posix_getcwd,posix_getegid,posix_geteuid,posix_getgid,posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid,posix,_getppid,posix_getpwnam,posix_getpwuid,posix_getrlimit,posix_getsid,posix_getuid,posix_isatty,posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid,posix_setpgid,posix_setsid,posix_setuid,posix_times,posix_ttyname,posix_uname,pclose,popen,proc_open,proc_close,proc_get_status,proc_nice,proc_terminate,shell_exec,source,show_source,system,virtual MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/share/sysv-rc/ |
Upload File : |
#! /usr/bin/perl # # saveconfig # # Print out the configuration of the current /etc/rc?.d # symlink setup, in a format compatible to the # "update-rc.d" command line. # # Author: Miquel van Smoorenburg <miquels@cistron.nl> # Adjusted by Petter Reinholdtsen # sub usage { print STDERR "error: ", @_, "\n" if @_; print STDERR <<EOF; saveconfig [-h] [-s <archivedir>] -s save each scripts setting in directory <archivedir> -h show usage inforation EOF } my $archivedir = ""; while($#ARGV >= 0 && ($_ = $ARGV[0]) =~ /^-/) { shift @ARGV; if (/^-s$/) { $archivedir = shift; usage("Missing -s argument"), exit 1 unless $archivedir; next } if (/^-h|--help$/) { &usage; } &usage("unknown option"); } chdir "/etc/init.d"; sub scan { my $dir = shift; local *DD; my $f; opendir DD, $dir; foreach $f (readdir DD) { next if ($f =~ m/^\./); push @{$dir{$dir}}, $f; } closedir DD; } foreach my $d (qw(S 0 1 2 3 4 5 6 7 8 9)) { scan("/etc/rc$d.d"); } scan("/etc/init.d"); foreach my $s (@{$dir{"/etc/init.d"}}) { my %start; my %stop; my $start = 0; my $stop = 0; foreach my $l (qw(S 0 1 2 3 4 5 6)) { #print "L: $l\n"; foreach my $f (@{$dir{"/etc/rc$l.d"}}) { #print "F: $f\n"; if ($f =~ m#^S(\d+)$s$#) { $start{$1} .= "$l "; $start = 1; } if ($f =~ m#^K(\d+)$s$#) { $stop{$1} .= "$l "; $stop = 1; } } } my $entry; if ($start || $stop) { $entry = "update-rc.d $s "; if ($start > 0) { foreach my $x (sort keys %start) { $entry .= "start $x " . $start{$x} . ". "; } } if ($stop > 0) { foreach my $x (sort keys %stop) { $entry .= "stop $x " . $stop{$x} . ". "; } } $entry .= "\n"; if ($archivedir) { my $file = "$archivedir/$s"; open(FILE, ">", "${file}.new") || die "Unable to write to $file"; print FILE $entry; close(FILE); rename "${file}.new", "$file"; } else { print $entry; } } }