Server IP : 162.241.126.129 / Your IP : 13.58.77.244 Web Server : Apache System : Linux 162-241-126-129.cprapid.com 4.18.0-477.27.2.el8_8.x86_64 #1 SMP Fri Sep 29 08:21:01 EDT 2023 x86_64 User : rvway5nu4 ( 1018) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /proc/thread-self/root/scripts/ |
Upload File : |
#!/usr/local/cpanel/3rdparty/bin/perl # cpanel - scripts/custom_backup_destination.pl.skeleton # Copyright 2022 cPanel, L.L.C. # All rights reserved. # copyright@cpanel.net http://cpanel.net # This code is subject to the cPanel license. Unauthorized copying is prohibited use strict; use warnings; # These are the commands that a custom destination script must process my %commands = ( put => \&my_put, get => \&my_get, ls => \&my_ls, mkdir => \&my_mkdir, chdir => \&my_chdir, rmdir => \&my_rmdir, delete => \&my_delete, ); # There must be at least the command and the local directory usage() if ( @ARGV < 2 ); # # The command line arguments passed to the script will be in the following order: # command, local_directory, command arguments, and optionally, host, user password # The local directory is passed in so we know from which directory to run the command # we need to pass this in each time since we start the script fresh for each command # my ( $cmd, $local_dir, @args ) = @ARGV; # complain if the command does not exist usage() unless exists $commands{$cmd}; # Run our command $commands{$cmd}->(@args); # # This script should only really be executed by the custom backup destination type # If someone executes it directly out of curiosity, give them usage info # sub usage { my @cmds = sort keys %commands; print STDERR "This script is for implementing a custom backup destination\n"; print STDERR "It requires the following arguments: cmd, local_dir, cmd_args\n"; print STDERR "These are the valid commands: @cmds\n"; exit 1; } # # This portion contains the implementations for the various commands # that the script needs to support in order to implement a custom destination # # # Copy a local file to a remote destination # sub my_put { return; } # # Copy a remote file to a local destination # sub my_get { return; } # # Print out the results of doing an ls operation # The calling program will expect the data to be # in the format supplied by 'ls -l' and have it # printed to STDOUT # sub my_ls { return; } # # Create a directory on the remote destination # sub my_mkdir { return; } # # Change into a directory on the remote destination # This does not have the same meaning as it normally would since the script # is run anew for each command call. # This needs to do the operation to ensure it doesn't fail # then print the new resulting directory that the calling program # will pass in as the local directory for subsequent calls # sub my_chdir { return; } # # Recursively delete a directory on the remote destination # sub my_rmdir { return; } # # Delete an individual file on the remote destination # sub my_delete { return; }