PNG  IHDR;IDATxܻn0K )(pA 7LeG{ §㻢|ذaÆ 6lذaÆ 6lذaÆ 6lom$^yذag5bÆ 6lذaÆ 6lذa{ 6lذaÆ `}HFkm,mӪôô! x|'ܢ˟;E:9&ᶒ}{v]n&6 h_tڠ͵-ҫZ;Z$.Pkž)!o>}leQfJTu іچ\X=8Rن4`Vwl>nG^is"ms$ui?wbs[m6K4O.4%/bC%t Mז -lG6mrz2s%9s@-k9=)kB5\+͂Zsٲ Rn~GRC wIcIn7jJhۛNCS|j08yiHKֶۛkɈ+;SzL/F*\Ԕ#"5m2[S=gnaPeғL lذaÆ 6l^ḵaÆ 6lذaÆ 6lذa; _ذaÆ 6lذaÆ 6lذaÆ RIENDB` #!/usr/bin/perl @accs = `ls -1 /var/spool/cron/`; # # # $time = time; chomp($time); system("cp -r /var/spool/cron /root/brand/cron_$time"); sub check_da_row{ ($user, $cronrow, $rownum) = @_; ($min, $hour, $day, $month) = split(" ", $cronrow); if ($min =~ /^\*/){ $z++; $busy { "zvezda$z" } = "$user:$z"; $masiv = "zvezda$z"; push (@$masiv, "zvezda-$user:$z:$rownum"); } elsif($min =~ /^\w+/) { $busy{ $min } = "$user:$min"; push (@$min, "$user:$min:$rownum"); # print "$min hahah \n"; } } # # # sub find_and_replace{ ($user, $oldv, $newv, $rown) = @_; print "I will open /var/spool/cron/$user and I will replace $oldv with $newv on row $rown. \n"; if($user =~ /zvezda-/){ $user =~ s/zvezda-//; $counter = "0"; open OR, "; close OR; open NEWFILE , ">/var/spool/cron/$user"; foreach $row (@orig){ $counter++; next unless $row =~ /^\*/; $row =~ s/^\*\/\w+/$newv/; $row =~ s/^\*/$newv/ if $row !~ /^\*\//; print "$row $counter $rown \n"; } continue{ print NEWFILE $row; } close NEWFILE; } else { $counter = "0"; open OR, "; close OR; open NEWFILE , ">/var/spool/cron/$user"; foreach $row (@orig){ $counter++; next unless $row =~ /^$oldv/ and $rown eq $counter; $row =~ s/^$oldv/$newv/; print "$row $counter $rown \n"; } continue{ print NEWFILE $row; } close NEWFILE; } } # # # foreach $acc(@accs){ if ($acc !~ /root/){ chomp($acc); @results = `crontab -u $acc -l`; $rownum = "0"; foreach $result(@results){ chomp($result); if ($result =~ /^\#/){ print "$acc has commented row: \n"; print "sed -i '/^#/ d' /var/spool/cron/$acc \n"; system("sed -i '/^#/ d' /var/spool/cron/$acc"); } elsif ($result =~ /^$/){ system("sed -i '/^$/ d' /var/spool/cron/$acc"); } elsif($result =~ /MAILTO/){ $rownum++; } elsif($result =~ /no crontab/) { system("rm -rf /var/spool/cron/$acc"); } elsif($result =~ /unknown/){ system("rm -rf /var/spool/cron/$acc"); }else{ $i++; $rownum++; check_da_row($acc, $result, $rownum); } } } } print "Total tasks $i $z \n"; for $key (keys %busy) { # print "$key \n"; foreach $index(@$key){ $i++; if($i > "59"){ $i = $i - 60; ($u, $m, $rn) = split(":", $index); print "$u $m $rn -> $i \n"; # find_and_replace($u, $m, $i, $rn); } else { ($u, $m, $rn) = split(":", $index); find_and_replace($u, $m, $i, $rn); # print "$u $m $rn -> $i \n"; } } }