GIF89a=( �' 7IAXKgNgYvYx\%wh&h}t�h%�s%x�}9�R��&�0%� (�.��5�SD��&�a)�x5��;ͣ*ȡ&ղ)ׯ7׵<ѻ4�3�H֧KͯT��Y�aq��q��F� !� ' !� NETSCAPE2.0 , =( ��pH,�Ȥr�l:xШtJ�Z�جv��z��xL.:��z�n���|N�����~�������& !�0`9R�}��"�"a:S�~x��������g���E�������R���E����B�� ��ȸ��D���"�Ů� �H��L��D٫D�B�����D���T���H �G��A R�ڐ |�� ٭&��E8�S�kG�A�px�a��� R2XB��E8I���6X�:vT)�~��q�賥��"F~%x� � 4#Z�0O|-4Bs�X:= Q� Sal��yXJ`GȦ|s h��K3l7�B|�$'7Jީܪ0!��D�n=�P� ����0`�R�lj����v>���5 �.69�ϸd�����nlv�9��f{���Pbx �l5}�p� ��� �3a���I�O����!ܾ���i��9��#��)p�a ޽ �{�)vm��%D~ 6f��s}Œ�D�W E�`!� �&L8x� �ܝ{)x`X/>�}m��R�*|`D�=�_ ^�5 !_&'a�O�7�c��`DCx`�¥�9�Y�F���`?��"� �n@`�} lď��@4>�d S �v�xN��"@~d��=�g�s~G��� ���ud &p8Q�)ƫlXD����A~H�ySun�j���k*D�LH�] ��C"J��Xb~ʪwSt}6K,��q�S:9ت:���l�@�`�� �.۬�t9�S�[:��=`9N����{¿�A !R�:���6��x�0�_ �;������^���#����!����U���;0L1�����p% A��U̬ݵ��%�S��!���~`�G���� ���=4�np�3���������u�u�ٮ|%2�I��r�#0��J``8�@S@5� ���^`8E�]�.�S���7 � �0�j S�D� z���i�S�����!���l��w9*�D�I�nEX��� &A�Go�Qf��F��;���}�J����F5��Q|���X��T��y���]� o ��C=��:���PB@ D׽S�(>�C�x}`��xJЬ�۠��p+eE0`�}`A �/NE�� �9@��� H�7�!%B0`�l*��!8 2�%� �:�1�0E��ux%nP1�!�C)�P81l�ɸF#Ƭ{����B0>�� �b�`��O3��()yRpb��E.ZD8�H@% �Rx+%���c� ���f��b�d�`F�"8�XH"��-�|1�6iI, 2�$+](A*j� QT�o0.�U�`�R�}`�SN����yae�����b��o~ S)�y�@��3 �tT�0�&�+~L�f"�-|�~��>!�v��~�\Q1)}@�}h#aP72�"�$ !� " , =( &7IAXG]KgNgYvYxR"k\%w]'}h}t�h%�g+�s%r.m3ax3�x�}9��&��+�!7�0%� (�.�SD��&��;�"&ײ)׻4��6�K� �@pH,�Ȥr�l:xШtJ�Z�جv��z��xL.:��z�n���|N�����~�������& !�0`9R�}��"�"a:S�~x��������g �� E �� �������E �´��C���ǶR��D��"Ʒ�ʱH��M��GڬD�B����D��T����G���C�C� l&�~:'�tU�6ɹ#��)�'�.6�&��Ȼ K(8p0N�?!�2"��NIJX>R��OM '��2�*x�>#n� �@<[:�I�f ��T���Cdb��[�}E�5MBo��@�`@��tW-3 �x�B���jI�&E�9[T&$��ﯧ&"s��ȳ����dc�UUρ#���ldj?����`\}���u|3'�R]�6 �S#�!�FKL�*N E���`$�:e�YD�q�.�촁�s \-�jA 9�����-��M[�x(�s��x�|���p��}k�T�DpE@W� ��]k`1� ���Yb ��0l��*n0��"~zBd�~u�7�0Bl��0-�x~|U�U0 �h�*HS�|��e"#"?vp�i`e6^�+q��`m8 #V�� ��VS|`��"m"сSn|@:U���~`pb�G�ED����2F�I�? >�x� R� ��%~jx��<�a�9ij�2�D��&: Z`�]w���:�6��B�7eFJ|�ҧ�,���FǮcS�ʶ+B�,�ܺN���>PAD�HD��~���n��}�#�� Q��S���2�X�{�k�lQ�2�����w�|2� h9��G�,m���3��6-��E�L��I�³*K���q�`DwV�QXS��peS��� qܧTS����R�u �<�a�*At�lmE� � ��N[P1�ۦ��$��@`��Dpy�yXvCAy�B`}D� 0QwG#� �a[^�� $���Ǧ{L�"[��K�g�;�S~��GX.�goT.��ư��x���?1z��x~:�g�|�L� ��S`��0S]P�^p F<""�?!,�!N4&P� ����:T�@h�9%t��:�-~�I<`�9p I&.)^ 40D#p@�j4�ج:�01��rܼF2oW�#Z ;$Q q  �K��Nl#29 !F@�Bh�ᏬL!XF�LHKh�.�hE&J�G��<"WN!�����Y@� >R~19J"�2,/ &.GXB%�R�9B6�W]���W�I�$��9�RE8Y� ��"�A5�Q.axB�&ة�J�! �t)K%tS-�JF b�NMxL��)�R��"���6O!TH�H� 0 !� ) , =( &AXKgNgYvYxR"k\%wh&h}h%�g+�s%r.x3�x�}9��&��+�R,�!7�0%� (�.��5��&�a)��;�"&ף*Ȳ)ׯ7׻4�3��6�H֧KͻH�T��Y��q��h� ��pH,�Ȥr�l:xШtJ�Z�جv��z��xL.:��z�n���|N�����~�������& !�0`9R�}��"�"a:S�~x��������g �� E$����� � ����$E$��"��D� � ������R��C��� E ��H�M��G�D� �B��ϾD��a��`1r��Ӑ�� �o~�zU!L�C'�yW�UGt����ll�0���uG�)A�s[��x� �xO%��X2�  P�n:R/��aHae+�Dm?# ǣ6�8�J�x�Di�M���j���5oQ7�- <! *�l��R2r/a!l)d� A"�E���� &� ;��c �%����b��pe~C"B���H�eF2��`8qb�t_`ur`e� w�u3��Pv�h""�`�Íx�LĹ��3� �~ֺ�:���MDfJ� �۵�W�%�S�X �؁)�@��:E��w�u�Sxb8y\m�zS��Zb�E�L��w!y(>�"w�=�|��s�d �C�W)H�cC$�L �7r.�\{)@�`@ �X�$PD `aaG:���O�72E�amn]�"Rc�x�R� &dR8`g��i�xLR!�P &d����T���i�|�_ � Qi�#�`g:��:noM� :V �)p����W&a=�e�k� j���1߲s�x�W�jal|0��B0�, \j۴:6���C ��W��|��9���zĸV {�;��n��V�m�I��.��PN� ����C��+��By�ѾHŸ:��� 7�Y�FTk�SaoaY$D�S���29R�kt� ��f� ��:��Sp�3�I��DZ� �9���g��u�*3)O��[_hv ,���Et x�BH� �[��64M@�S�M7d�l�ܶ5-��U܍��z�R3Ԭ3~ ��P��5�g: ���kN�&0�j4���#{��3S�2�K�'ợl���2K{� {۶?~m𸧠�I�nE�='����^���_�=��~�#O���'���o..�Y�n��CSO��a��K��o,���b�����{�C�� "�{�K ��w��Ozdը�:$ ���v�] A#� ���a�z)Rx׿ƥ�d``�w-�y�f�K!����|��P��=�`�(f��'Pa ��BJa%��f�%`�}F����6>��`G"�}�=�!o`�^FP�ةQ�C���`(�}\�ݮ ��$<��n@dĠE#��U�I�!� #l��9`k���'Rr��Z�NB�MF �[�+9���-�wj���8�r� ,V�h"�|�S=�G_��"E� 0i*%̲��da0mVk�):;&6p>�jK ��# �D�:�c?:R Ӭf��I-�"�<�="��7�3S��c2RW ,�8(T"P0F¡Jh�" ; 403WebShell
403Webshell
Server IP : 173.249.157.85  /  Your IP : 3.149.238.207
Web Server : Apache
System : Linux server.frogzhost.com 3.10.0-1127.19.1.el7.x86_64 #1 SMP Tue Aug 25 17:23:54 UTC 2020 x86_64
User : econtech ( 1005)
PHP Version : 7.3.33
Disable Function : NONE
MySQL : OFF  |  cURL : OFF  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /usr/share/doc/rsync-3.1.2/support/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/share/doc/rsync-3.1.2/support/rsyncstats
#!/usr/bin/perl
#
# This script parses the default logfile format produced by rsync when running
# as a daemon with transfer logging enabled.  It also parses a slightly tweaked
# version of the default format where %o has been replaced with %i.
#
# This script is derived from the xferstats script that comes with wuftpd.  See
# the usage message at the bottom for the options it takes.
#
# Andrew Tridgell, October 1998

use Getopt::Long;

# You may wish to edit the next line to customize for your default log file.
$usage_file = "/var/log/rsyncd.log";

# Edit the following lines for default report settings.
# Entries defined here will be over-ridden by the command line.

$hourly_report = 0; 
$domain_report = 0;
$total_report = 0;
$depth_limit = 9999;
$only_section = '';

&Getopt::Long::Configure('bundling');
&usage if !&GetOptions(
    'hourly-report|h' => \$hourly_report,
    'domain-report|d' => \$domain_report,
    'domain|D:s' => \$only_domain,
    'total-report|t' => \$total_report,
    'depth-limit|l:i' => \$depth_limit,
    'real|r' => \$real,
    'anon|a' => \$anon,
    'section|s:s' => \$only_section,
    'file|f:s' => \$usage_file,
);

$anon = 1 if !$real && !$anon;

open(LOG, $usage_file) || die "Error opening usage log file: $usage_file\n";

if ($only_domain) {
    print "Transfer Totals include the '$only_domain' domain only.\n";
    print "All other domains are filtered out for this report.\n\n";
}

if ($only_section) {
    print "Transfer Totals include the '$only_section' section only.\n";
    print "All other sections are filtered out for this report.\n\n";
}

line: while (<LOG>) {

my $syslog_prefix = '\w\w\w +\d+ \d\d:\d\d:\d\d \S+ rsyncd';
my $rsyncd_prefix = '\d\d\d\d/\d\d/\d\d \d\d:\d\d:\d\d ';

   next unless ($day,$time,$op,$host,$module,$file,$bytes)
      = m{^
	  ( \w\w\w\s+\d+ | \d+/\d\d/\d\d ) \s+ # day
	  (\d\d:\d\d:\d\d) \s+                 # time
	  [^[]* \[\d+\]:? \s+                  # pid (ignored)
	  (send|recv|[<>]f\S+) \s+             # op (%o or %i)
	  (\S+) \s+                            # host
	  \[\d+\.\d+\.\d+\.\d+\] \s+           # IP (ignored)
	  (\S+) \s+                            # module
	  \(\S*\) \s+                          # user (ignored)
	  (.*) \s+                             # file name
	  (\d+)                                # file length in bytes
	  $ }x;

   # TODO actually divide the data by into send/recv categories
   if ($op =~ /^>/) {
      $op = 'send';
   } elsif ($op =~ /^</) {
      $op = 'recv';
   }

   $daytime = $day;
   $hour = substr($time,0,2); 

   $file = $module . "/" . $file;

   $file =~ s|//|/|mg;

   @path = split(/\//, $file);

   $pathkey = "";
   for ($i=0; $i <= $#path && $i <= $depth_limit; $i++) {
	$pathkey = $pathkey . "/" . $path[$i];
   }

   if ($only_section ne '') {
       next unless (substr($pathkey,0,length($only_section)) eq $only_section);
   }

   $host =~ tr/A-Z/a-z/;

   @address = split(/\./, $host);

   $domain = $address[$#address];
   if ( int($address[0]) > 0 || $#address < 2 )
      { $domain = "unresolved"; }

   if ($only_domain ne '') {
       next unless (substr($domain,0,length($only_domain)) eq $only_domain);
   }


#   printf("c=%d day=%s bytes=%d file=%s path=%s\n", 
#	   $#line, $daytime, $bytes, $file, $pathkey);

   $xferfiles++;                                # total files sent
   $xfertfiles++;                               # total files sent
   $xferfiles{$daytime}++;                      # files per day
   $groupfiles{$pathkey}++;                     # per-group accesses
   $domainfiles{$domain}++;

   $xferbytes{$daytime}   += $bytes;          # bytes per day
   $domainbytes{$domain}  += $bytes;		# xmit bytes to domain
   $xferbytes             += $bytes;          # total bytes sent
   $groupbytes{$pathkey}  += $bytes;          # per-group bytes sent

   $xfertfiles{$hour}++;                        # files per hour
   $xfertbytes{$hour}     += $bytes;          # bytes per hour
   $xfertbytes            += $bytes;          # total bytes sent
}
close LOG;

#@syslist = keys %systemfiles;
@dates = sort datecompare keys %xferbytes;

if ($xferfiles == 0) {die "There was no data to process.\n";}


print "TOTALS FOR SUMMARY PERIOD ", $dates[0], " TO ", $dates[$#dates], "\n\n";
printf("Files Transmitted During Summary Period  %12.0f\n", $xferfiles);
printf("Bytes Transmitted During Summary Period  %12.0f\n", $xferbytes); 
#printf("Systems Using Archives                   %12.0f\n\n", $#syslist+1);

printf("Average Files Transmitted Daily          %12.0f\n",
   $xferfiles / ($#dates + 1));
printf("Average Bytes Transmitted Daily          %12.0f\n",
   $xferbytes / ($#dates + 1));

format top1 =

Daily Transmission Statistics

                 Number Of    Number of   Percent Of  Percent Of
     Date        Files Sent   MB  Sent    Files Sent  Bytes Sent
---------------  ----------  -----------  ----------  ----------
.

format line1 =
@<<<<<<<<<<<<<<  @>>>>>>>>>  @>>>>>>>>>>  @>>>>>>>    @>>>>>>>  
$date,           $nfiles,    $nbytes/(1024*1024), $pctfiles,  $pctbytes
.

$^ = top1;
$~ = line1;

foreach $date (sort datecompare keys %xferbytes) {

   $nfiles   = $xferfiles{$date};
   $nbytes   = $xferbytes{$date};
   $pctfiles = sprintf("%8.2f", 100*$xferfiles{$date} / $xferfiles);
   $pctbytes = sprintf("%8.2f", 100*$xferbytes{$date} / $xferbytes);
   write;
}

if ($total_report) {
format top2 =

Total Transfers from each Archive Section (By bytes)

                                                           - Percent -
     Archive Section                   NFiles     MB      Files   Bytes
------------------------------------- ------- ----------- ----- -------
.

format line2 =
@<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< @>>>>>> @>>>>>>>>>> @>>>>   @>>>>
$section,                 $files,    $bytes/(1024*1024),     $pctfiles, $pctbytes
.

$| = 1;
$- = 0;
$^ = top2;
$~ = line2;

foreach $section (sort bytecompare keys %groupfiles) {

   $files = $groupfiles{$section};
   $bytes = $groupbytes{$section};
   $pctbytes = sprintf("%8.2f", 100 * $groupbytes{$section} / $xferbytes);
   $pctfiles = sprintf("%8.2f", 100 * $groupfiles{$section} / $xferfiles);
   write;

}

if ( $xferfiles < 1 ) { $xferfiles = 1; }
if ( $xferbytes < 1 ) { $xferbytes = 1; }
}

if ($domain_report) {
format top3 =

Total Transfer Amount By Domain

             Number Of    Number of    Percent Of  Percent Of
Domain Name  Files Sent    MB Sent     Files Sent  Bytes Sent
-----------  ----------  ------------  ----------  ----------
.

format line3 =
@<<<<<<<<<<  @>>>>>>>>>  @>>>>>>>>>>>  @>>>>>>>    @>>>>>>>  
$domain,     $files,     $bytes/(1024*1024), $pctfiles,  $pctbytes
.

$- = 0;
$^ = top3;
$~ = line3;

foreach $domain (sort domnamcompare keys %domainfiles) {

   if ( $domainsecs{$domain} < 1 ) { $domainsecs{$domain} = 1; }

   $files = $domainfiles{$domain};
   $bytes = $domainbytes{$domain};
   $pctfiles = sprintf("%8.2f", 100 * $domainfiles{$domain} / $xferfiles);
   $pctbytes = sprintf("%8.2f", 100 * $domainbytes{$domain} / $xferbytes);
   write;

}

}

if ($hourly_report) {

format top8 =

Hourly Transmission Statistics

                 Number Of    Number of   Percent Of  Percent Of
     Time        Files Sent    MB  Sent   Files Sent  Bytes Sent
---------------  ----------  -----------  ----------  ----------
.

format line8 =
@<<<<<<<<<<<<<<  @>>>>>>>>>  @>>>>>>>>>>  @>>>>>>>    @>>>>>>>  
$hour,           $nfiles,    $nbytes/(1024*1024), $pctfiles,  $pctbytes
.


$| = 1;
$- = 0;
$^ = top8;
$~ = line8;

foreach $hour (sort keys %xfertbytes) {

   $nfiles   = $xfertfiles{$hour};
   $nbytes   = $xfertbytes{$hour};
   $pctfiles = sprintf("%8.2f", 100*$xfertfiles{$hour} / $xferfiles);
   $pctbytes = sprintf("%8.2f", 100*$xfertbytes{$hour} / $xferbytes);
   write;
}
}
exit(0);

sub datecompare {
    $a gt $b;
}

sub domnamcompare {

   $sdiff = length($a) - length($b);
   ($sdiff < 0) ? -1 : ($sdiff > 0) ? 1 : ($a lt $b) ? -1 : ($a gt $b) ? 1 : 0;

}

sub bytecompare {

   $bdiff = $groupbytes{$b} - $groupbytes{$a};
   ($bdiff < 0) ? -1 : ($bdiff > 0) ? 1 : ($a lt $b) ? -1 : ($a gt $b) ? 1 : 0;

}

sub faccompare {

   $fdiff = $fac{$b} - $fac{$a};
   ($fdiff < 0) ? -1 : ($fdiff > 0) ? 1 : ($a lt $b) ? -1 : ($a gt $b) ? 1 : 0;

}

sub usage
{
    die <<EOT;
USAGE: rsyncstats [options]

OPTIONS:
  -f FILENAME   Use FILENAME for the log file.
  -h            Include report on hourly traffic.
  -d            Include report on domain traffic.
  -t            Report on total traffic by section.
  -D DOMAIN     Report only on traffic from DOMAIN.
  -l DEPTH      Set DEPTH of path detail for sections.
  -s SECTION    Set SECTION to report on. For example, "-s /pub"
                will report only on paths under "/pub".
EOT
}

Youez - 2016 - github.com/yon3zu
LinuXploit