forked from Taryck/idrive
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Constants.pm
574 lines (556 loc) · 35.3 KB
/
Constants.pm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
#!/usr/bin/env perl
#############################################################################################
#Script Name : Constants.pm
#############################################################################################
use strict;
use warnings;
use Cwd;
#use FindBin;
#use lib $FindBin::Bin;
my $conLib;
BEGIN { $conLib = getcwd; }
use lib $conLib;
package Constants;
#use base 'Exporter';
use Exporter;
use vars qw( @ISA @EXPORT_OK %EXPORT_TAGS @EXPORT );
#BEGIN {
our @ISA = qw( Exporter );
# use Exporter;
#}
use constant FILE_NAMES => { accountSettingsScript => 'account_setting.pl',
archiveCleanupScript => 'archive_cleanup.pl',
backupScript => 'Backup_Script.pl',
checkForUpdateScript => 'check_for_update.pl',
editSupportedFilesScript => 'edit_supported_files.pl',
expressBackupScript => 'express_backup.pl',
jobTerminationScript => 'job_termination.pl',
loginScript => 'login.pl',
logoutScript => 'logout.pl',
operationsScript => 'Operations.pl',
readMeFile => 'readme.txt',
restoreScript => 'Restore_Script.pl',
restoreVersion => 'restore_version.pl',
schedulerScrpt => 'Scheduler_Script.pl',
statusRetrivalScript => 'Status_Retrieval_Script.pl',
viewLogScript => 'view_log.pl',
uninstallScript => 'Uninstall_Script.pl',
ConstantsFile => 'Constants.pm',
utility => 'utility.pl',
uninstallcron => 'uninstallcron.pl'
};
#print "File Name: ".FILE_NAMES->{accountSettingsScript}."\n\n";
use constant CONST => {
#------------------Menu Choice---------------------#
AskDefAcc => '1) Default encryption key',
AskPvtAcc => '2) Private encryption key',
DisplayVer => '1) Display versions for your file',
BackupKillOp => '1) Kill backup job',
RestoreKillOp => '2) Kill restore job',
KillBothOprOp => '3) Kill both backup and restore job',
StatBackOp => '1) Backup Job',
StatRstOp => '2) Restore Job',
AskMirrorType => '1) Mirror',
AskRelativeType => '2) Relative',
Product => 'ForLinux',
ScriptBuildVersion => '2.18',
ScriptReleaseDate => '02-22-2019',
#------------------EVS Operations ---------------------#
LinkBucketOp => 'LinkBucket',
NickUpdateOp => 'NickUpdate',
ListDeviceOp => 'ListDevice',
BackupOp => 'Backup',
CreateBucketOp => 'CreateBucket',
RestoreOp => 'Restore',
ValidateOp => 'Validate',
GetServerAddressOp => 'GetServerAddress',
AuthListOp => 'Authlist',
ConfigOp => 'Config',
GetQuotaOp => 'GetQuota',
PropertiesOp => 'Properties',
CreateDirOp => 'CreateDir',
SearchOp => 'Search',
RenameOp => 'Rename',
ItemStatOp => 'ItemStatus',
VersionOp => 'Version',
VerifyPvtOp => 'VerifyPvtKey',
validatePvtKeyOp => 'validatePvtKey',
LocalBackupOp => 'LocalBackup',
#------------------ A -----------------------------#
AskIfProxy => 'Are you using Proxy (y/n)?',
AccountSet => 'Your Account is ready to use now.',
LogoutSuccess => 'is logged out successfully.',
LoginAlready => 'Account is already logged in.',
AccCongiguringMsg => 'Encryption key not set. Setting the encryption key to default...',
LoginSuccess => 'is logged in successfully.',
AccountConfig => 'Account is configured successfully.',
AlreadyConfig => 'Your account details are:',
AccLogin => 'account using '.FILE_NAMES->{loginScript}.' and try again.',
AnotherRestoreJob => 'Another Restore job is in progress.',
LogoutInfo => 'No user is logged in.',
askfForLogin => 'Do you want to login as ',
alreadyLoginUser => 'is already logged in',
askServicePath => 'Enter location for idrive to store service files/supporting files :',
aboutServicePath => 'NOTE: Service Path, a location where idrive creates and manages its service files and folders.',
AlreadyLoginUser => ' is already logged in. Logout using '.FILE_NAMES->{logoutScript}.' and try again.',
Account => 'Account',
adoptLinkMess => 'Select from existing Backup Locations',
#--------------------- B -----------------------------#
BackupProgress => "Backup Progress \n=============== \n",#Added spaces for FreeBSD to overwrite the existing text.
BucketLength => 'Reason: Length must be between 4 to 64 characters ',
BackupLocInvalidDedup => 'Invalid Backup Location: ',
BackupLocRetryDedup => 'Unable to set Backup Location. Your maximum retry attempt reached. Please try Again.',
BackupLocNoteDedup => '[Note: Backup location should contain only letters, numbers, space and characters(.-_)]',
MkBackupDir => 'Backup Location created successfully',
BckupSchRunning => 'Backup_Script.pl: Starting Scheduler job.',
BckPathMissing => 'Backup set file path is missing in config file.',
BckFileMissing => 'Backup set file not found, verify the config file parameters.',
BckStartTm => 'Backup Start Time : ',
BckEndTm => 'Backup End Time : ',
BckUsrCancl => 'Backup failed. Reason: Operation cancelled by user.',
BckCanclForChld => 'Backup failed. Reason: Operation cancelled.',
BckContnt => 'Backupset content :',
BeforeScript => 'before running this script',
BothRunning => 'Schedule Backup and Restore Jobs are in progress.',
BackupSetEmpty => 'Backup set is empty. ',
BackupScriptName => 'Backup_Script.pl',
backupDeviceIdFile => 'backupDeviceId.txt',
BinaryArchMismatch => 'Binary architecture mismatching.Please download the proper zip file & use.',
backup_type_must_be_mirror => 'Backup type must be "mirror" to perform archive cleanup operation.',
#------------------- C ----------------------------#
operationNotCompleted => 'Could not complete operation. ',
EvsCmplCheck => 'Checking for compatible idevsutil command line utility...',
AskPvtAgain => 'Confirm your encryption key: ',
ConfirmPvt => 'Confirming encryption key...',
InputEmptyErr => 'Cannot be empty. Enter again: ',
CrtUserDir => 'Creating user directory...',
FileOpnErr => 'Could not open file ',
FileCrtErr => 'Could not create ',
ExcldMsg => 'considered to exclude from backup set, Reason : ',
ForkErr => 'Cannot fork() child process : ',
CrtEncFile => 'createEncodeFile :',
ConfMissingErr => 'Configuration File does not exist. Please run '.FILE_NAMES->{accountSettingsScript}.' and try again.',
CheckPreq => 'Checking Prerequisite...',
CanContain => 'Username should contain a-z, 0-9 and underscore.',
WrongCutOff => 'Scheduled time and cut off time should have minimum 5 minutes of difference.',
CalCulate => 'Calculating..',
CheckVerMsg => 'Checking for new updates...',
ConfigEmailIDMess => 'Configured e-mail address(es): ',
cuttoffNeeded => 'Do you want to have cut off time for your',
configurationFile => 'CONFIGURATION_FILE',
unzipFailed => sub { return qq{Could not unzip the file '$_[0]'.}},
checkingJobInProgress => 'Checking for jobs in progress....',
checkingFileVersion => 'Checking version(s) for the file...',
cronUninstalled => ' cron has been uninstalled successfully.',
#--------------------- D -----------------------------#
editOtherSupportedFiles => 'Do you want to edit any other files (y/n)?',
wantTo => 'Do you want to:',
Instruct => 'Dear User, Please provide your details below',
NotExist => 'does not exist.',
AskRetainLogs => 'Do you want to Retain Logs (y/n)?',
AskRestoreVer => 'Do you want to restore any specific version (y/n)?',
PvtAccTypeMsg => 'Dear user, Your account type is PRIVATE',
DefAccTypeMsg => 'Dear user, Your account type is DEFAULT.Ignoring and removing pvt-key from CONFIGURATION..',
DirCrtMsg => 'User directory has been created successfully.',
AskLogin => 'Do you want to login (y/n)?',
editQuery => 'Do you wish to modify (y/n)?',
reallyEditQuery => 'Do you really want to edit (y/n)?',
notificationQuery => 'Do you want to enable e-mail notification (y/n)?',
schAddQuery => 'Do you want to add a new one (y/n)?',
defaultRestLocMess => 'Considering Default Restore Location as',
doUwant2Change => 'Do you want to change (y/n)?',
defaultServicePath => 'Your default service path is : ',
displayUserMessage => sub {return join(' ',@_)},
notExists => 'does not exists',
changeServicePath => 'Do you want to change your service path (y/n)?',
noSufficientPermission => 'does not have sufficient permissions',
noSufficientPermissionToCleanup => sub { return qq{System user [$_[0]] does not have sufficient permission to perform cleanup operation. Please run this script in privileged user mode to perform the cleanup.}},
viewLogMessage => 'Select option to view logs for: ',
viewMoreLogs => 'Do you want to view more logs (y/n).',
removeDirectories => 'Do you want to remove the following directories (y/n)?',
DirectoryRemoved => sub { return qq{$_[0] '$_[1]' has been removed successfully.}},
DirectoryFileNotEmpty => sub { return qq{System user [$_[0]] does not have sufficient permission to cleanup $_[1] $_[2]. Please run this script in privileged user mode to perform the cleanup.}},
doUwant2EnterMountPoint => 'Do you want to enter your mount point manually (y/n)?',
#---------------------E -----------------------------#
setEncKeyMess => 'Encryption key is set successfully...',
# emailNotConfig => 'Could not configure email address.',
selectDevice => 'Enter the S.No. to select your Backup Location [Press Enter to go back to main menu]:',#suggested by deepak
emailNotConfig => 'No E-mail Id is configured',
AskUname => 'Enter your username: ',
AskPword => 'Enter your password: ',
AskProxyIp => 'Enter Proxy Server IP: ',
AskProxyPort => 'Enter Proxy Port: ',
AskProxyUname => 'Enter Proxy username if exists: ',
AskProxyPass => 'Enter Proxy password if exists: ',
EnterChoice => 'Enter your choice: ',
AskPvtSetAcc => 'Enter the encryption key: ',
AskPvt => 'Set your encryption key: ',
AskEmailId => 'Enter your e-mail ID(s) [For multiple e-mail IDs use (,) or (;) as separator] [Optional]: ',
AskBackupLoc => 'Enter your Backup Location [Note: Backup location should contain valid path.] [Optional]',
AskRestoreLoc => 'Enter your Restore Location [Optional]: ',
AskRestoreLocRepet => 'Please enter Restore Location to continue: ',
AskRestoreFrom => 'Enter your Restore From Location [Optional]: ',
AskFilePath => 'Enter your file path :',
AskLogout => 'Do you want to logout ',
Exit => 'Exiting',
AskOption => 'Menu Options:',
ErrFlContnt => 'Error file content:',
EmlIdMissing => 'E-mail address not provided in CONFIGURATION file.',
EnterAgn => 'Enter Again : ',
EvsChild => 'for EVS',
LogChild => 'for Output Parsing',
EmptyEmailId => 'E-mail address cannot be empty.',
EmailEmpty => 'E-mail address feild is empty.',
delExistingSchJob => 'Do you really want to delete the scheduled',
delExistingArchiveJob => 'Do you really want to delete the periodic archive cleanup job',
enterChoiceSchJob => 'Please select options to run schedule ',
emailNotificationSetting => 'Your e-mail notification settings are : ',
emailNotificationStatus => 'E-mail notification status : ',
emailIDs => 'E-mail address(es) are: ',
emailNotificationDisable => 'Do you want to Disable E-mail Notification (y/n)?',
emailIDChange => 'Do you want to Change Email ID(s) (y/n)?',
emailIDRequired => 'Enter your e-mail ID(s) [For multiple e-mail IDs use (,) or (;) as separator]: ',
emailChangeMax => 'Maximum attempt to change E-mail address(es) reached. You E-mail address(es) remains:',
emailUpdateMax => 'Maximum attempt reached, could not update E-mail address.',
existsServicePath => 'Your previous service path is',
errorServicePath => 'Error in creating service path : ',
AskServicePath => 'Enter your service path [This location will be used to maintain the temporary data used by your scripts] [Optional]: ',
existingEmail => 'Configured e-mail address(es) are: ',
logChoice => 'Enter the S.No. to view log: ',
startDate => 'Enter start date (MM/DD/YYYY): ',
endDate => 'Enter end date (MM/DD/YYYY): ',
useBWinput => 'Enter bandwidth throttle value [1-100]:',
errorDisplayLog => 'Error in display log.',
AskLinuxPword => sub { return qq{Please enter system user [$_[0]] password:}},
EnterMountPoint => 'Enter your mount point: ',
ExpressBackupProgress => "Express Backup Progress \n======================= \n",
#------------------- F ----------------------------#
issueWithProxy => 'Found issue with your proxy details or network connectivity.',
FulExcld => "full exclude= ",
NotFound => 'File Not Found: ',
GetSrvAdrErr => 'Failed to execute getServerAddress. Please check the credentials.',
SendMailErr => 'Failed to send mail.',
KilFail => 'Failed to kill ',
CreateFail => 'Failed to create',
updateFail => 'Failed to Update.',
failedMailNotifyGet => 'Failed to get e-mail notification settings.',
failedMailNotifySet => 'Failed to set e-mail notification settings.',
fileDisplaySummary => 'fileSummary.txt',
fileEditSuccessfully => 'edited successfully.',
moreDetailsReferLog => 'For more details run "'.FILE_NAMES->{viewLogScript}.'" and follow the instructions.',
failedToRemove => sub { return qq{Failed to remove the $_[0] "$_[1]".}},
trashFileRestoreNotice => "* If files are in Trash, they may be restored directly to the account if the files match your backup set \nitems during backup. These files will be included in the 'Files already present' count.",
#------------------- G ----------------------------#
GetServAddr => 'getServerAddr : ',
DirCreateQuery => 'Location doesn\'t exist. Do you want create (y/n)?',
#------------------- H ----------------------------#
#------------------- I ----------------------------#
InvalidCmdArg => 'Invalid command line argument. Usage --silent& after script name to run script in back end.',
InvalidCheckUpdateArg => "Invalid argument. Please provide proper argument and try again.",
InvalidInput => 'Invalid Input.',
InvalidIP => 'Invalid IP Address',
InvalidPort => 'Invalid port number',
InvalidChoice => 'Invalid choice.',
InvalidVersion => 'Invalid version.',
EvsPermissionErr=> 'idevsutil file does not have executable permission. Please give it executable permission',
EvsMissingErr => 'EVS binary is missing. Please re-configure your account using '.FILE_NAMES->{accountSettingsScript}.' script and try again.',
#EvsMissingErr => ' idevsutil file does not exist. Please run Account setting script to configure your account.',
#EvsMissingErr => 'idevsutil file does not exist in current directory. Please copy idevsutil file to current directory',
InvalidUnamePwd => 'Invalid username or Password',
InvalidEmail => 'Invalid e-mail address(es):',
StatCount => 'In STATUS count : ',
InvalidOp => 'invalid operation type.',
NotRng => 'is not running.',
IsRng => 'is running.',
IsAbvl => 'is available',
NoFileEvsMsg => 'Invalid Restore From Location. Reason: path does not exist.',
NoDirectoryEvsMsg => 'Invalid Restore From Location. Reason: directory exists in trash.',
StatSize => 'In Status size : ',
InvLocInput => 'Invalid Location. ',
InvUname => 'Invalid username. Please try again.',
InvRestoreLoc => 'Invalid Restore Location',
InvBackupLoc => 'Invalid Backup Loaction',
InvRestoreFrom => 'Invalid Restore From',
InvRetainLog => 'Invalid Retain Log option',
InvProxy => 'Invalid proxy details',
incorrectPwd => 'incorrectPwd',
productUptoDate => ' is up to date.',
InvalidPvtKey => 'Invalid encryption key.',
InvalidUsrSerDir => 'Invalid service path. Please try again.',
InvalidUserPattern => 'Invalid UserName. Please try again.',
IDENPWD => 'IDENPWD',
IDPWD => 'IDPWD',
IDPVT => 'IDPVT',
invalidDate => 'Invalid Date or date format. Please try again.',
invalidBWinput => 'Invalid bandwidth throttle value. Bandwidth throttle must be between 1-100. Please try again.',
IDriveMaintainer => 'IDrive Inc.',
InvalidZipFile => 'Invalid zip file. Please download the expected zip file from the link mentioned below and try again.',
InvalidMountPoint => 'Invalid mount point. Please try again.',
#------------------- J ----------------------------#
JobTerminationScriptName => 'job_termination.pl',
JobTerminateMessage => 'job terminated successfully',
jobNotSch => "couldn't be scheduled",
jobRemoveSuccess => 'job has been deleted successfully.',
#------------------- K ----------------------------#
ProxyErr => 'Kindly verify your proxy details or check network connectivity and try again.',
ProxyUserErr => 'Kindly verify your network connection or proxy details and try again.',
WgetSslErr => 'Kindly update wget package and try again.',
WgetSslErrInAcc => 'Follow our FAQ section [I am getting \'unable to find compatible binary\' error during account setting script execution. How do I configure my account?] from the link mentioned below:',
WgetSslErrInCFU => 'Follow our FAQ section [How can I update IDrive scripts manually to newer version, if \'check_for_update.pl\' is unable to update ?] from the link mentioned below:',
#------------------- L ----------------------------#
ListOfDevice => 'List of existing Backup Locations:', #suggested by deepak
LoadingAccDetails => 'Loading your account details. Please wait...',
locationQuery => 'Enter valid location: ',
logoutRequest => 'Please logout',
loginConfigAgain => 'Your account is not configured. Please configure using '.FILE_NAMES->{accountSettingsScript}.' and try again.',
logoutBackupJob => 'Logging out from your account will terminate Manual Backup job. Do you want to continue (y/n)?',
logoutRestoreJob => 'Logging out from your account will terminate Manual Restore job. Do you want to continue (y/n)?',
logoutExpressBackupJob => 'Logging out from your account will terminate Express Backup job. Do you want to continue (y/n)?',
logoutBackupRestoreJob => 'Logging out from your account will terminate Manual Backup and Restore job. Do you want to continue (y/n)?',
logoutBackupExpressBackupJob => 'Logging out from your account will terminate Manual Backup and Express Backup. Do you want to continue (y/n)?',
logoutExpressBackupRestoreJob => 'Logging out from your account will terminate Manual Express Backup and Restore job. Do you want to continue (y/n)?',
logoutBackupExpressBackupRestoreJob => 'Logging out from your account will terminate Manual Backup, Express Backup and Restore job. Do you want to continue (y/n)?',
logoutJob => 'Logging out from your account will terminate Manual <JOBS>. Do you want to continue (y/n)?',
LocationString => 'LOCATION : ',
logDispSuccess => 'Log displayed successfully.',
logList => 'Log List:',
loginAccount => 'Please login to your account using "'.FILE_NAMES->{loginScript}.'" script and try again.',
LoadingMountPoints => 'Loading information for all mount points...',
#------------------- M ----------------------------#
maxRetryCuttoff => 'Unable to set cut off as your maximum retry attempts reached.',
maxRetry => 'Your maximum retry attempts reached. Please try again.',
maxRetryRestoreFrom => 'Your maximum attempt to change Restore from location has reached.',
messDefaultRestoreFrom => 'Considering Default Restore From Location as',
messDefaultBackupLoc => 'Considering Default Backup Location as',
maxRetryEmailID => 'Your maximum attempt to enter E-mail ID has reached.',
maxRetryattempt => 'Maximum retry attempts reached.',
multiUserConfirm => 'Multiple users are using this script package. Do you really want to continue with uninstall operation (y/n)?',
mountPointNotExist => 'Mount point does not exist. Please try again.',
mountPointDoesntPermission => 'Mount point does not have sufficient permissions. Try again.',
#------------------- N ----------------------------#
permissionIssue => 'No proper permission',
NoOpRng => 'No Backup/Express Backup/Restore Job is running.',
BinNotFound => 'Not Found.',
NotAbvl => 'is not available.',
RstFromGuidMsg => 'Note: Your Restore From Location should indicate the location from which you want to restore the data.',
NonExist => 'Invalid file path.',
verAvlqueryMsg => 'New updates are available. Do you want to update (y/n)?',
noLogOut => 'Unable to logout.',
noFileDir => 'No such file or directory',
noSchJob => 'There is no scheduled',
noPeriodicJob => 'There is no periodic archive cleanup scheduled',
noChangeServicePath => 'Your service directory remains ',
noLogs => 'No logs found. Please try again.',
noPermissionToKill => sub { return qq{System user [$_[0]] does not have sufficient permission to stop the on going Backup/Restore process. Please run this script in privileged user mode to perform the cleanup.}},
# noServicePath => 'Service directory does not exists. Please run account_setting.pl script... ',
#------------------- O ----------------------------#
operationNotcomplete => 'Operation could not be completed.',
OpUsrCancel => 'Operation could not be completed. Reason : Operation cancelled by user',
operationFailUser => "Operation could not be completed. Reason: Operation Cancelled by user.",
operationFailCutoff => "Operation could not be completed. Reason : Operation Cancelled due to Cut off.",
logOpeningMessage => 'Opening Log file...',
FileopeningMess => 'Opening file to edit...',
OneJobsRunning => 'One or more backup/express backup/restore/archive cleanup jobs are in progress. Do you want to cancel the jobs and continue with uninstall operation(y/n)?',
#------------------- P ----------------------------#
providePermission => 'Please provide proper permission and try again.',
ctrlc2Exit => 'Note: Please press CTRL+C to exit.',
passwordMismatch => 'Reason : password mismatch.',
EvsProblem => 'Problem with EVS binary. Please re-configure your account using '.FILE_NAMES->{accountSettingsScript}.' script and try again.',
createBucketMess => 'Create new Backup Location',
PvtErr => 'Encryption key and confirm encryption key must be the same',
AskPvtWithCond => 'Encryption key must contain 6 to 250 characters',
TryAgain => 'Please try again.',
pleaseTryAgain => 'Please try again.',
AskCorrectPvt => 'Invalid encryption key. Please re-enter your encryption key: ',
NetworkErr => 'Probably your network has proxy settings or Server is down. Kindly Try Again',
AskVersion => 'Provide the version no for file:',
PlLogin => 'Please login to your',
ParExcld => 'partial exclude= ',
LoginWait => 'Please wait. Logging into your account...',
SuggestInstall => 'Please install and try again.',
AskStatusOp => 'Please Choose any one option to continue',
LongPwd => 'Parameter \'password\' should be at least 6 - 20 characters',
ProvideEmailId => 'Provide your e-mail ID(s) [For multiple e-mail IDs provide comma(,) seperation]',
AskLocforBackup => 'Please enter Backup Location to continue: ',
AskLocforBackupInRetry => 'Please enter Backup Location',
PrepFileMsg => 'Preparing File list...',
portError => 'Your maximum attempts has reached. Do you want to continue without proxy (y/n)?',
proxyError => 'Your maximum attempts has reached. Do you want to continue without proxy (y/n)?',
previousChoice => 'Previous choice: ',
# InvalidPassPattern => q(Password should be at least 6 - 20 characters and can contain A-Z, a-z, 0-9 and ~`!@#$%^&*()-_+={}|[];'"<>,.?/ . Please try again.),
InvalidPassPattern => 'Invalid password. Please try again.',
RecreateServiceDir => 'Please create your service directory',
viClosureMessage => 'Press "Esc key" followed by ":q!" and "Enter key" to exit from vi editor.',
viEditClosureMessage => 'Press "Esc key" followed by ":wq!" and "Enter key" to exit from vi editor.',
pleaseUpdate => 'Please run "'.FILE_NAMES->{editSupportedFilesScript}.'" and follow the instructions to update.',
IBackupMaintainer => 'Pro Softnet Corporation',
parseDeviceList => '1',
packageUninstalled => 'Package has been uninstalled successfully.',
passwordMissing => 'Password is missing.',
periodicArchiveCleanup => 'Periodic archive cleanup',
#------------------- Q ----------------------------#
QuotaOverLimit => "Reason: Quota exceeded.",
#------------------- R ----------------------------#
RestoreProgress=> "Restore Progress\n================ \n",#Added spaces for FreeBSD to overwrite the existing text.
RestoreVer => '2) Restore a specific version of your file',
RestoreOpStart => 'Restore operation has been started successfully. Please check the logs for more details.',
PasswordEmptyErr => 'Required param: \'password\' not passed',
BckupRetry => '----Retrying to do Backup Operation--------',
InstrctReadMe => 'Read "'.FILE_NAMES->{readMeFile}.'" for details.',
ChldFailMsg => 'Reason : Child process launch failed.',
AccUndrMntnc => 'Reason : Account is under maintenance.',
AccCancld => 'Reason : Account is cancelled.',
AccExprd => 'Reason : Account has expired.',
NotRegFile => ' Reason: Not a regular file/folder.',
ParEXcldItem => ' Reason: Partial path excluded item.',
FulExcldItem => ' Reason: Full path excluded item.',
RegexEXcldItem => ' Reason: Regex path excluded item.',
RstorSchRunning => 'Restore_Script.pl: Scheduler job is running.',
RstPathMissing => 'Restore set file path is missing in config file.',
RstFileMissing => 'Restore set file not found, verify the config file parameters',
RstUsrCancl => 'Restore failed. Reason: Operation cancelled by user.',
RstCanclForChld => 'Restore failed. Reason: Operation cancelled.',
RstStartTm => 'Restore Start Time: ',
RstEndTm => 'Restore End Time: ',
RestoreSetEmpty => 'Restore set is empty. ',
ReleaseNotes => 'Release Notes',
ReleaseNotesDetail => ['Build 2.6.15','1) Fixed the menthioned bugs in open issues list. Some are not reproducible please check it once again.',
'2) Now using Account settings script, its possible to edit the account too.',
'3) view_Log.pl script has been introduced to view the logs related to manual/scheduled backup/restore job',
'4) testing',
],
restoreFromSet => 'Restore From has been set as ',
restoreFromDir => 'Please enter Restore From Location to continue: ',
restoreLocNoChange => 'Your Restore Location remains',
restoreLocCreation => 'Creating Restore Location...',
restoreDeviceIdFile => 'restoreDeviceId.txt',
RemovedCronEntries => sub { return qq{Removed the $_[0] cron entries successfully.}},
#------------------- S ----------------------------#
EvsInstSuccess => 'Successfully installed compatible idevsutil binary.',
SetRestoreFromLoc => 'Setting up your Restore From Location...',
SetBackupLoc => 'Setting up your Backup Location...',
SetBackupList => 'Setting up your Default Manual Backupset File as BackupsetFile.txt...',
SetBackupListSch => 'Setting up your Default Schedule Backupset File as BackupsetFile.txt...',
SetRestoreList => 'Setting up your Default Manual Restoreset File as RestoresetFile.txt...',
SetRestoreListSch => 'Setting up your Default Schedule Restoreset File as RestoresetFile.txt...',
SetLocalBackupList => 'Setting up your Default Manual Local Backupset File as BackupsetFile.txt...',
SetFullExclList => 'Setting up your Default Full Exclude list File as FullExcludeList.txt...',
SetParExclList => 'Setting up your Default Partial Exclude list File as PartialExcludeList.txt...',
SetRgxExcludeList => 'Setting up your Default Regex Exclude list File as RegexExcludeList.txt...',
Summary => 'Summary : ',
KilSuccess => 'Successfully killed ',
StatMissingErr => 'Status File doesn\'t exists',
selectBackType => 'Select option for Backup Type:',
scriptStatus => 'Exiting script. ',
statusSummaryError => 'Unable to print status summary.',
successServicePath => sub { return qq{$_[0] "$_[1]" created successfully.}},
serverAddress => 'serverAddress.txt',
ServiceDirectory => 'Service path',
stDatEdDateGraterCurrentDate => 'Start date or end date should not be greater than current date. Please try again.',
stDateGraterEndDate => 'Start Date should not be greater than end date. Please try again.',
editConfig => 'Select the item you want to edit:',
serviceLocation => '.serviceLocation',
selectLocation4Backup => 'Multiple Backup Locations are configured with this account. Select an option:',#Suggested by deepak
selectRestoreFromLoc => 'Select Restore From Location below :',
backupLocationConfigAgain => 'Invalid Backup Location. Please edit your Backup Location using '.FILE_NAMES->{accountSettingsScript}.' and try again.',
restoreFromLocationConfigAgain => 'Invalid Restore From Location. Please Edit your Restore From Location using '.FILE_NAMES->{accountSettingsScript}.' and try again.',
restoreFromLocationNotFound => 'Restore from location not found. Please logout and re-configure your account freshly using '.FILE_NAMES->{accountSettingsScript}.' and try again.',
scriptRemoved => sub { return qq{Your $_[0] scripts has been removed successfully.}},
selectMountPoint => 'Select the mount point you want to backup in, from the list mentioned below:',
selectedMountNoPerm => 'Selected device does not have permission to write.',
serverRootNotFound => 'Your account not configured for express backup. Please logout and re-configure your account freshly using '.FILE_NAMES->{accountSettingsScript}.' and try again.',
#------------------- T ----------------------------#
TotalBckCnsdrdFile => 'Files considered for backup : ',
TotalBckFile => 'Files backed up now : ',
TotalSynFile => 'Files already present in your account : ',
TotalCondSynFile => 'Files already present* in your account : ',
TotalSynFileRestore => 'Files already present in your Restore Location : ',
TotalBckFailFile => 'Files failed to backup : ',
TotalRstCnsdFile => 'Files considered for restore : ',
TotalRstFile => 'Files restored now : ',
TotalRstFailFile => 'Files failed to restore : ',
TestOk => 'Tested ok',
tracelog => 'traceLog.txt',
DedupAccError => 'Important Note: This account currently does not support Linux Backup. Please contact "[email protected]" to enable linux backup for this account.',
ToUninstall => "To Uninstall the script, you need to authenticate.",
#------------------- U ----------------------------#
UnableToConnect => 'Unable to connect. Please login again.',
EvsMatchError => 'unable to get compatible idevsutil binary.',
LogoutErr => 'Unable to logout from account. Please try again',
MkDirErr => 'Unable to create user directory : ',
DoBckOpErr => 'Unable to proceed the backup operation',
DoRstOpErr => 'Unable to proceed the restore operation',
BckFileOpnErr => 'Unable to open Backup set file',
ExclFileOpnErr => 'Unable to open full path exclude file',
ParExclFileOpnErr => 'Unable to open partial path exclude file',
ExclFileOpnErr => 'Unable to open exclude file',
unzipErr => 'Unable to use unzip. Please reinstall "unzip" and try again.',
curlErr => 'Unable to use curl. Please reinstall "curl" and try again.',
BackLocCrFailMsg => 'Unable to Create Backup Location. Please try again.',
ForkErr => 'Unable to start child process',
bckProcessFailureMsg => 'Unable to proceed the backup operation. Reason : Child process launch failed for monitoring output file.',
rstProcessFailureMsg => 'Unable to proceed the restore operation. Reason : Child process launch failed for monitoring output file.',
CronQuery => 'To continue, Please provide root ',
CronQueryUbuntu => 'To continue, Please provide [sudo] password for',
killQuery => 'To kill the job, Please provide root ',
killQueryUbuntu => 'To kill the job, Please provide [sudo] password',
UpdateFinished => 'Scripts updated successfully.',
userLoggedIn => 'is already logged in. Do you want to logout (y/n)?',
userNameMissing => 'Username for schedule job paramater is missing',
updatingScripts => 'Updating scripts. Please wait...',
noServiceLoc => 'unable to find service location, please re-configure your account.',
UnableToRemoveCron => sub { return qq{Unable to remove the $_[0] cron entries.}},
UnableToUninstallCron => sub { return qq{Unable to uninstall $_[0] cron.}},
UnableToFindMountPoint => 'Unable to find mount point. ',
uninstallRootPWDMSG => sub { return qq{Please provide root password for $_[0] cron uninstallation.}},
uninstallSudoPWDMSG => sub { return qq{Please provide sudo password for $_[0] cron uninstallation: }},
#------------------- V ----------------------------#
verifyPvt => 'Verifying your encryption key...',
verifiedPvt => 'Verification of encryption key is successful',
verifyAccount => 'Verifying your account information...',
versionRestore => '2',
#------------------- W ----------------------------#
WrongBackupType => 'Incorrect Backup Type in CONFIGURATION_FILE. Run "'.FILE_NAMES->{accountSettingsScript}.'" script to set Backup Type and try again.',
schCreateQuery => 'Would you like to create a new one (y/n)?',
schEditQuery => 'Would you like to edit (y/n)?',
schDelQuery => 'Would you like to delete (y/n)?',
#------------------- X ----------------------------#
#------------------- Y ----------------------------#
scheduleJobDet => 'Your scheduled job details are mentioned below:',
existingSchJob => 'You have an existing scheduled',
existingPeriodicJob => 'You have an existing periodic archive cleanup job.',
AskConfig => 'Your Account encryption key is not set. Do you want to set (y/n)?',
BackupLocMsg => 'Your Backup location is set to',
RestoreLocMsg => 'Your Restore from location is set to',
RestoreLoc => 'Your Restore location is set to',
defBackupLocMsg => 'Your Default Backup location is',
SetServiceLocation => 'Your service directory is ',
urBackupLocation => 'Your Backup location is',
urRestoreFrom => 'Your Restore From is',
urProxyDetails => 'Your proxy details are',
urProxySetTo => 'Your proxy is set to',
urBackupType => 'Your Backup Type is',
urBackupTypeSetTo => 'Your Backup Type is set to',
urBWthrottle => 'Your bandwidth throttle is set to',
bwThrottleSetTo => 'Your bandwidth throttle is set to',
urRestoreLocation => 'Your Restore Location is set to',
retainLogEnabled => 'Your Retain Logs option is "Enabled". Do you want to disable (y/n)?',
retainLogDisabled => 'Your Retain Logs option is "Disabled". Do you want to enable (y/n)?',
urAccountDetails => 'Your account details are:',
retainLogsEnable => 'Your Retain Logs option is "Enabled"',
retainLogsDisabled => 'Your Retain Logs option is "Disabled"',
AskUninstallConfig => sub { return qq{Your $_[0] scripts and service directory will be deleted. Do you want to continue (y/n)?}},
YourAuthSuccess => 'Your authentication attempt was successful.',
#YourAuthFailed => 'Your authentication attempt was unsuccessful.',
YourAuthFailed => 'Authentication Failed.',
YourMaxAttemptReached => 'Your maximum attempt reached.',
YourHostnameEmpty => 'Your hostname is empty. Please provide the hostname and try again.',
YouSelectedBkpLoc => sub { return qq{Your selected mount point to backup your data is '$_[0]'.}},
YourPreviousMountPoint => sub { return qq{Your previous mount point is '$_[0]'. Do you wish to modify (y/n)?}},
YourRestoreLocationNotExist => 'Your restore location does not exists. Please enter a new restore location and try again.',
#------------------- Z ----------------------------#
zippedPackageNotLatest => "Zipped package has version lower than current version. Do you really want to update (y/n)?",
};
@EXPORT_OK = ('CONST');
@EXPORT = ('FILE_NAMES');
1;