Advertisement
Guest User

Untitled

a guest
May 3rd, 2017
161
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.38 KB | None | 0 0
  1. #!/usr/bin/perl
  2. use strict;
  3. use File::Find;
  4. use DBI;
  5. use XML::Twig;
  6. use Data::Dumper;
  7. use Date::Manip;
  8. use Log::Log4perl;
  9. use Digest::MD5::File qw(dir_md5_hex file_md5_hex url_md5_hex);
  10. use Time::HiRes qw(gettimeofday );
  11. use MP3::Tag;
  12. use MP3::Info;
  13. #use File::stat;
  14. #use File::MimeInfo;
  15. use File::MimeInfo::Magic;
  16.  
  17. $Data::Dumper::Indent = 3;
  18.  
  19. my $debug = 1;
  20.  
  21. # Important variables found in config files...
  22. use vars qw ( $DB_SERVER $DB_NAME $DB_USER
  23. $DB_PASSWORD $DB_PORT
  24. $SCAN_FOLDER
  25. $HOST_ID $VOLUME_ID
  26. $LOG_CONFIG $PIDLOCK_FILE %counters
  27. $PRETEND_MODE $FILES_TO_PROCESS $MAX_SIGTERM
  28. $FORCE_HASHCHECK
  29. );
  30. # include (execute) configuration file
  31. BEGIN { require "scan.cfg"; }
  32.  
  33.  
  34. # Handle unix signals: hangup, kill, terminate, interrupt
  35. # question: should these all have the same result?
  36. my $sigterm_received;
  37. $SIG{HUP} = \&signalTerminate; # call signalTerminate on sighup
  38. $SIG{HANGUP} = \&signalTerminate; # call signalTerminate on sighup
  39. $SIG{TERM} = \&signalTerminate; # call signalTerminate on sigterm
  40. $SIG{INT} = \&signalTerminate; # call signalTerminate on sigint
  41.  
  42.  
  43. ------------ config file below ---------------
  44.  
  45.  
  46. # This config file is in perl syntax and is intended to be 'executed'
  47. # by scan.pl to set up its basic environment
  48.  
  49. #####################
  50. #
  51. # Debug settings
  52. #
  53. #####################
  54.  
  55. # If this is non-zero, stop after processing this many mp3 files from a disk scan
  56. $FILES_TO_PROCESS = 0;
  57.  
  58. # PRETEND MODE - set this to 1 to prevent records from being inserted into the
  59. # database and to prevent files from being moved out of the inbound directory
  60. $PRETEND_MODE = 0;
  61.  
  62. # This setting should force a graceless death after the specified number of
  63. # termination signals have been received -- I haven't tested it yet
  64. $MAX_SIGTERM = 3;
  65.  
  66. # If this is non-zero, the scanner will always generate the md5 hash
  67. # before assessing whether the file has changed
  68. $FORCE_HASHCHECK = 0;
  69.  
  70.  
  71. #########################################
  72. #
  73. # Paths where files come from and go to
  74. #
  75. #########################################
  76. $SCAN_FOLDER = "/data/files/Software/";
  77. $PIDLOCK_FILE = "/home/btox/data_tracking_scanner.pid";
  78. $LOG_FOLDER = "/home/btox/log/";
  79.  
  80. $HOST_ID = 2;
  81. $VOLUME_ID = 3;
  82.  
  83. ##########################
  84. #
  85. # Database configuration
  86. #
  87. ##########################
  88. #$DB_SERVER="massiveplural.org";
  89. #$DB_NAME="data_tracking";
  90. #$DB_USER="data_tracking";
  91. #$DB_PASSWORD="Ml6nGBpp";
  92. #$DB_PORT="3309";
  93.  
  94.  
  95. $DB_SERVER="localhost";
  96. $DB_NAME="data_tracking";
  97. $DB_USER="data_tracking";
  98. $DB_PASSWORD="data_tracking";
  99. $DB_PORT="3306";
  100.  
  101.  
  102. #########################
  103. #
  104. # Logging configuration
  105. #
  106. #########################
  107. my ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdet) = localtime();
  108. $year += 1900; # year from localtime is year-1900
  109. $mon++; # $mon from localtime is in range 0-11
  110. $mday = "0" . $mday if ($mday < 10); # zero pad
  111. my $logfile = "scan_" . $year . $mon . $mday . ".log";
  112. my $debugfile = "scandebug_" . $year . $mon . $mday . ".log";
  113.  
  114. # POSSIBLE LOG LEVELS: ALL, INFO, WARN, ERROR, FATAL
  115. #$LOG_CONFIG = qq(
  116. # log4perl.rootLogger=ALL, LOGFILE
  117. #
  118. # log4perl.appender.LOGFILE=Log::Log4perl::Appender::File
  119. # log4perl.appender.LOGFILE.filename=$logfile
  120. # log4perl.appender.LOGFILE.mode=append
  121. #
  122. # log4perl.appender.LOGFILE.layout=PatternLayout
  123. # log4perl.appender.LOGFILE.layout.ConversionPattern=[%r] %F %L %c - %m%n
  124. #);
  125. $LOG_CONFIG = qq(
  126.  
  127. # root logger
  128. log4perl.logger = DEBUG, logfile, console, debugfile
  129.  
  130. # sql logger
  131. log4perl.logger.db_query = DEBUG, logfile, console, debugfile
  132.  
  133. #log4perl.logger.screenlogger = DEBUG, console
  134. log4perl.logger.filelist = TRACE, filelog
  135.  
  136. log4perl.appender.console =Log::Log4perl::Appender::ScreenColoredLevels
  137. log4perl.appender.console.stderr = 0
  138. log4perl.appender.console.layout =PatternLayout
  139. log4perl.appender.console.layout.ConversionPattern =%p %L: %m%n
  140. log4perl.appender.console.Threshold = INFO
  141.  
  142. log4perl.appender.logfile=Log::Log4perl::Appender::File
  143. log4perl.appender.logfile.filename=filescan.log
  144. log4perl.appender.logfile.mode=append
  145. log4perl.appender.logfile.Threshold = INFO
  146. log4perl.appender.logfile.layout=PatternLayout
  147. #log4perl.appender.logfile.layout.ConversionPattern=%m%n
  148. log4perl.appender.logfile.layout.ConversionPattern=[%rms] %p %L %c - %m%n
  149.  
  150. log4perl.appender.debugfile=Log::Log4perl::Appender::File
  151. log4perl.appender.debugfile.filename=scandebug.log
  152. log4perl.appender.debugfile.mode = append
  153. log4perl.appender.debugfile.layout=PatternLayout
  154. log4perl.appender.debugfile.layout.ConversionPattern=[%rms] %p %L %c - %m%n
  155.  
  156. log4perl.appender.filelog=Log::Log4perl::Appender::File
  157. log4perl.appender.filelog.filename=scanfilelist.log
  158. log4perl.appender.filelog.mode = write
  159. log4perl.appender.filelog.layout=PatternLayout
  160. log4perl.appender.filelog.layout.ConversionPattern=%m%n
  161.  
  162.  
  163.  
  164. );
  165.  
  166.  
  167.  
  168. #####################
  169. #
  170. # Counters
  171. #
  172. #####################
  173. %counters = ('files_scanned' => 0
  174.  
  175. );
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement