HEX
Server: LiteSpeed
System: Linux php-prod-1.spaceapp.ru 5.15.0-157-generic #167-Ubuntu SMP Wed Sep 17 21:35:53 UTC 2025 x86_64
User: xnsbb3110 (1041)
PHP: 8.1.33
Disabled: NONE
Upload Files
File: //proc/self/root/usr/local/CyberCP/plogical/__pycache__/Backupsv2.cpython-310.pyc
o

��h��
@s`ddlZddlZddlZddlZddlZddlZddlZddlZddlZddlm	Z	ej
�d�ddlZddl
mZddlmZej�dd�ze��WnYddlmZddlmZddlZGdd�dej�Zed	kr�z*ejd
d�Zejdd
d�ejddd�e� �Z!e!j"dkr�ede!j
i�Z#WdSWdSedddddd��Z#e#�$�YdSdS)�N)�HttpResponsez/usr/local/CyberCP�DJANGO_SETTINGS_MODULEzCyberCP.settings)�ProcessUtilitiesc@s�eZdZdZdZdZdZdZdZdZ	dZ
dZdZdd	�Z
d
d�Zdd
�Zdd�Zedd��Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zd d!�Zd"d#�Zd$d%�Zed&d'��Zed(d)��Zed*d+��Zed,d-��Z ed.d/��Z!d0d1�Z"d2S)3�CPBackupsV2r���z/usr/bin/rusticz /root/.config/rclone/rclone.confzrclone obscure hostingc
Cs8tj�|�||_z|d|_WnY|��\}}ddlm}|jj	|jdd�|_
z�d|j
j�d�|_|j�d�|_
|jd	}zNd
}t�t�||j
jd��d��}t�||d
�d}tj�d|���|�|�}	d|�d|	�d|�d�}t�||j
jd�}
tj�tj�r�tj�|
�Wnty�}ztj�dt|����WYd}~nd}~wwWnty�}ztj�d|�WYd}~nd}~ww|jd	dkr�d|jd	�d|jd��|_nd|jd	�d|jd�d�|_g|_d|j
j�d�|_ d|j
j�d�|_!d|_"tj�|j ��rt�#|j �d|_$dS)N�functionr��Websites�domain�r�/home/�/.config/rclone�/rclone.conf�BackendNamezrclone config dumpT�
�token�
refresh_tokenzRefresh Token: zrclone config update 'z' token '{"access_token":"z)","token_type":"Bearer","refresh_token":"z?","expiry":"2024-04-08T21:53:00.123456789Z"}' --non-interactivez!Token Not upadate inside. Error: z Error update token............%s�localzrclone:'z':z':/home/z/incrementalbackupsz/home/cyberpanel/�_rustic_backup_log�_rustic_backup_log_Restorer)%�multi�Thread�__init__�datar	�
InstallRustic�websiteFunctions.modelsr�objects�get�websiter�LocalRclonePath�ConfigFilePath�json�loadsr�outputExecutioner�externalApp�rstrip�logging�CyberCPLogFileWriter�writeToFile�refresh_V2Gdive_token�os�path�exists�	debugPath�
BaseException�str�repo�	snapshots�
StatusFile�StatusFile_Restore�restore�remove�MergeSnapshotFlag)�selfr�	statusRes�messager�reponame�commandr�refreshToken�new_Acess_token�result�msg�rB�(/usr/local/CyberCP/plogical/Backupsv2.pyr.sX

���� ��  
zCPBackupsV2.__init__c
Csrz|jdkr
|��WdS|jdkr|��WdSWdSty8}ztj�t|�d�WYd}~dSd}~ww)N�InitiateBackup�InitiateRestorez [CPBackupsV2.run])r	rDrEr0r(r)r*r1)r9rArBrBrC�run�s

�"��zCPBackupsV2.runc
Cshzd|j�d�}t�t�||jjd��d��}d|fWSty3}zdt	|�fWYd}~Sd}~ww)N�
rustic -r z+ snapshots --password "" --json 2>/dev/nullTrrr)
r2r#r$rr%r r&r'r0r1)r9r=r@rArBrBrC�FetchSnapShots�s�
��zCPBackupsV2.FetchSnapShotsc	Cs��zd|jj�d�|_|j�d�|_d|j��}t�||jj�|tjkr�t	�
�}|�t	���z.|j
|d|d|d|dd	�|��tj�tj�r]tj�d
|d�d|d���Wntyw}z
dt|�fWYd}~WSd}~wwd
|d��}t�|��d�}d|d�d|d�d|d�d|�d|d�d�}d|�d|j��}t�||jjd�d|j��}t�||jj�WdS|tjk�rd|d|df}|ddkr�d|d<d|d <d!|d"�d#|d�d$|d �d%|�d&�	}d|�d|j��}t�||jjd�d|j��}t�||jj�WdSWdSt�y?}ztj�t|�d'�dt|�fWYd}~Sd}~ww)(Nrrr�	mkdir -p �host�user�password�sshPort)�usernamerL�portzSuccessfully connected to z through user rzrclone obscure rz
                
[�	Repo_Namez]
type = sftp
host = z
user = z
pass = z
port = zecho 'z' >> T�
chmod 600 �rNzk{"access_token":"%s","token_type":"Bearer","refresh_token":"%s", "expiry":"2024-04-08T21:53:00.123456789Z"}rr�	client_id�	undefined��
client_secretz
[�accountnamez']
type = drive
scope = drive
client_id=z
client_secret=z	
token = z
team_drive =
z [Configure.run])r rr!r"r�executionerr&r�SFTP�paramiko�	SSHClient�set_missing_host_key_policy�
AutoAddPolicy�connect�closer,r-r.r/r(r)r*r0r1r%r'�GDrive)	r9�type�configr=�sshrA�ObsecurePassword�contentrrBrBrC�SetupRcloneBackend�s~
" ��������
�����	���zCPBackupsV2.SetupRcloneBackendcCsddl}t|���S)Nr)�timer1)rgrBrBrC�FetchCurrentTimeStamp�sz!CPBackupsV2.FetchCurrentTimeStampcCsf|tjkrkd|j_|j��d|j�d�}t�|dd�t|j	d�}|�
dt�d�d|d	d
�|�
�d}|jD]	}|�d|��}q=d
|j�d|�d�}t�||jjd�}tj�tj�ritj�|�dSdS|tjkr�d|j_|j��t|j	d�}|�
dt�d�d|dd
�|�
�dSt|j	d�}|�
dt�d�d|d
�|�
�dS)Nr�rm -f z/*.sqlT�a�[z%m.%d.%Y_%H-%M-%Sz	:FAILED] z[404]rrU� rG� forget �  --password ""z:COMPLETED] z[200]z:INFO] )r�FAILEDr �
BackupLock�save�FinalPathRucticrrX�openr4�
writelinesrg�strftimer_r3r2r%r&r,r-r.r/r(r)r*�	COMPLETED)r9r;�statusr=�filer3�snapshotr@rBrBrC�UpdateStatussj


�����
�


�����
����zCPBackupsV2.UpdateStatusc
Cs�d|jj�d|jj�d|j��}t�|�d|j�d�}t�||jj�d|jj�d|jj�d|j�d�}t�|�d|j�d|j�d	�}t�||jjd
dd
�\}}tj�	tj
�rdtj�
dt|����|r�t�|�d��}z|d
}|dd}|dd}|j�|�Wnty�}z|�dt|���tj�WYd}~dSd}~wwd|j�d�}t�|�dS|�dt|���tj�dS)N�chown �:rl�rustic init -r � --password ""�/config.jsonrG� backup z-/config.json --json --password "" 2>/dev/nullTzStatus r�id�summary�	files_new�total_duration�.Backup failed as no snapshot id found, error: r�chown cyberpanel:cyberpanel rzBackup failed , error: )r r&rrrrXr2r%r,r-r.r/r(r)r*r1r#r$r'r3�appendr0rzrro)r9r=rwr@�
SnapShotIDr�r�rArBrBrC�BackupConfig)s6 
"
��
zCPBackupsV2.BackupConfigcCs�d}|jD]	}|�d|��}q|jr2d|j�d|�d�}t�||jjd�}tj�	tj
�r2tj�
|�d|j�d|�d�}t�||jjd�}tj�	tj
�rTtj�
|�dSdS)	NrUrlrGz merge z  --password "" --jsonTrmrn)r3r8r2rr%r r&r,r-r.r/r(r)r*)r9r3ryr=r@rBrBrC�MergeSnapshotsUs
�zCPBackupsV2.MergeSnapshotsc
Cs�tj�d�ddlm}m}ddlm}ddlm	}|j
j|jdd�|_
tj�|jd�s;d	|jd��}t�|�t��|_	|j
j|jdd�|_
|j
jdk�r@d|j
j�d�}d
}tt�|�d|��dd��d��|_tt�ddd��d��|_|j|jkr�|�dtj�dS|�dtj�|� �\}}	|dkr�|�d|	��tj�dS|jd�d|j
j��|_!d	|j!��}t�|�d|j!��}t�|�d|j!��}t�|��zv|�dtj�d||j
gd�d�i}
||j
j"gd�d�|
d<||j
j"j#�|
d<g}|j
j$�%�D]}t&|j�|�'||���q||
d<|�(�\}
}|
dk�r)WdS|j
j)�%�}g}|D]N}d |j*�d!�}|�+|�|�,�}g}|D].}d"|d�d#|d
�d!�}|�+|�|�,�}t&|�|�'|d
|d|ddd$���qI|�'|j*|i��q3||
d%<g}|j
j-�%�D]}|�'||gd&�d���q�||
d'<|
|_.z0dd(l/m0}|j
j|j
jd)�|_1g}|j1j2�%�D]
}|�'||���q�||j1�|
d*<||
d+<WnYz0dd(l3m0}|j
j|j
jd�|_4g}|j4j5�%�D]
}|�'||���q�||j4�|
d,<||
d-<WnYd|j!�d.�}t�|�t6|j!�d.�d/�}|�7t8�9|
��|�:�d0|j!�d.�}t�|�|�;�dk�rEWdS|�d1tj�Wn t<�ym}z|�d2t=|���tj�WYd}~dSd}~wwz�|jd3�r�|�d4tj�|�>�dk�r�|�d5tj�d|_?n|�d6tj�|jd7�r�|j?�r�|�d8tj�|�@�dk�r�|�d9tj�d|_?n|�d:tj�|jd;�r�|j?�r�|�d<tj�|�A�dk�r�|�d=tj�d|_?n|�d>tj�d?|j
jB�d@|j
jB�d|j!��}t�|�tj�tjC��rtj�dAt=|jD����|�E�|�dBtjF�Wd
St<�y?}z|�dCt=|���tj�WYd}~dSd}~wwtG�HdD�tIt���tI|j�dEk�rg|j
j|jdd�|_
d|j
_|j
�J�qA)FNz[Create Backup start]r)r�	Backupsv2)�
model_to_dict��mysqlUtilitiesrr
�BasePathrIr�
du -sm /home/�/�2>/dev/null | awk '{print $1}'rl�rootTr� df -m / | awk 'NR==2 {print $4}'z;Not enough disk space on the server to backup this website.z&Checking if backup modules installed,0z!Failed to install Rustic, error: r��
chmod 711 zCreating backup config,0�MainWebsite)r�
adminEmail�phpSelection�staterb)�fields)�userNamerL�	firstName�lastName�emailra�ownerr�api�
securityLevelr�zinitself.websitesLimit�twoFA�	secretKeyrb�admin�acl�ChildDomainsz)SELECT host,user FROM mysql.db WHERE db='z';z2SELECT password FROM `mysql`.`user` WHERE `Host`='z' AND `User`=')rKrJrL�	databases)�titler-�FinalURL�AutoUpdates�
PluginUpdates�ThemeUpdates�WPLockState�WPSites��Domains��name�
MainDNSDomain�
DNSRecords�MainEmailDomain�EmailAddressesr�wrQzBackup config created,5z(Failed during config generation, Error: �BackupDatabasezBacking up databases..,10z&Failed to create backup for databases.z,Database backups completed successfully..,25�
BackupDatazBacking up website data..,30z"Failed to create backup for data..z/Website data backup completed successfully..,70�BackupEmailszBacking up emails..,75z$Failed to create backup for emails..z)Emails backup completed successfully..,85r{r|zSnapshots to be merged �	CompletedzFailed, Error: ��)Kr(r)r*rrr��django.forms.modelsr��plogical.mysqlUtilitiesr�rrrr r,r-r.rrXrrh�StartingTimeStamprpr�intr%r'�WebsiteDiskUsage�CurrentFreeSpaceOnDiskrzro�RUNNINGrrrr�r��childdomains_set�all�printr��setupConnection�
databases_set�dbName�execute�fetchall�wpsites_setrb�
dns.modelsr��	dnsDomain�records_set�mailServer.models�emailDomain�
eusers_setrs�writer#�dumpsr_r�r0r1�BackupDataBasesRusticr8�BackupRustic�BackupEmailsRusticr&r/r3r�rvrg�sleep�floatrq)r9rr�r�r�r=�Disk1�Disk2r:r;�Config�
ChildsList�childDomains�
connection�cursor�	dataBases�DBSList�db�query�DBUsers�UserList�databaseUser�resp�WPSitesList�wpsiter�r��record�
EmailAddrList�WriteToFilerArBrBrCrDgs&

���	


�
�



&

�� 
��

��zCPBackupsV2.InitiateBackupc		Cs�d|j�d�}t�||jj�d|j��}t�|�ddlm}|jdD]M}|�	�D]F\}}t
d|���|j�d|�d	�}|�||jd
|j|jj�\}}|d
krY|j�
|�q+d|��}t�|�|�d|�d
�tj�dSq%d
S)Nr}r~r�rr�r�zDB r��.sqlrriz%Failed to create backup for database �.)r2rrXr r&rrr�r�rb�itemsr��createDatabaseBackupr3r�rzrro)	r9r=r��dbs�key�value�
CurrentDBPath�DBResult�SnapIDrBrBrCr�es(	
�
*
�8z!CPBackupsV2.BackupDataBasesRusticc

Cs.d|j�d�}t�||jj�d|jj��}d|�d�}d|j�d|�d|�d	�}t�||jjd
dd
�\}}tj�	tj
�rFtj�
d|���|r�t�|�d��}z|d
}|dd}|dd}|j�|�WdSty�}	z|�dt|	���tj�WYd}	~	dSd}	~	ww|�dt|���tj�dS)Nr}r~rz	 --glob !z/logs rGr�� --password "" � --json 2>/dev/nullTzStatus code rr�r�r�r�r�rrzBackup failed, error: )r2rrXr r&rr%r,r-r.r/r(r)r*r#r$r'r3r�r0rzr1rro)
r9r=�source�excluderwr@r�r�r�rArBrBrCr��s.	���zCPBackupsV2.BackupRusticc	
Cs�d|j�d�}t�||jj�d|jj��}tj�|�rvd}d|jj�d|j�d|�d|�d	�	}t	�
t�|dd
��d��}z|d}|d
d}|d
d}|j
�|�WdStyu}z|�dt|���tj�WYd}~dSd}~wwdS)Nr}r~z/home/vmail/z> --exclude-if-present rusticbackup  --exclude-if-present logs �export RCLONE_CONFIG=/home/z)/.config/rclone/rclone.conf && rustic -r r�r�r�Trr�r�r�r�r�rr)r2rrXr r&rr,r-r.r#r$r%r'r3r�r0rzr1rro)	r9r=r�r�r@r�r�r�rArBrBrCr��s&	$
���zCPBackupsV2.BackupEmailsRusticcCsh�z|�dtj�d|jj�d�}d|jj�d�}d|j�d|jd�d	|�d
|�d�	}t�||jj	d�}t
�t�d
|�d���d��}z0ddl
m}|jj|jjd�}ddlm}|dD]}	|�||	d|	d|	dd|	d�q^Wnty�}
z|�dt|
���tj�WYd}
~
nd}
~
wwz<ddlm}|dD]/}|d}
|
�d�d}|d}|�|jj||�}|ddkr�|�|
|d�ddkr�q�	q�	q�Wnty�}
z|�dt|
���tj�WYd}
~
nd}
~
ww�z
dd lm}m}|d!D]�}t|���d}t j!�"tj#��rt$j%�&d"|���d}||}|D]�}|d#}|d$}|d}t j!�"tj#��rMt$j%�&d%|�t$j%�&d&|�t$j%�&d'|�|�r�d}z.|jj|d(�}t$j%�&d)|�t'j'�(||d|�dk�rwt$j%�&d*|�nt$j%�&d+|�Wn_t$j%�&d,|�t'j'�)||d-�dk�r�t$j%�&d.|�nt$j%�&d/|�t'j'�(||d�t'j'�(||d�dk�r�t$j%�&d*|�nt$j%�&d+|�z||j||d0�}|�*�WnYYt'j'�)|||d|�t'j'�(||d|��qq�WWd2St�y}
z|�d1t|
���tj�WYd}
~
Wd2Sd}
~
wwt�y3}
zdt|
�fWYd}
~
Sd}
~
ww)3NzRestoring config..,10z
/home/backup/rrr�rG�	 restore �
snapshotidr|rl� --password ""  2>/dev/nullT�cat rrr�r�)�DNSr�r�rare�ttlz:Error in RestoreConfig while restoring dns config. Error: )�
mailUtilitiesr�r��@rLrz<Error in RestoreConfig while restoring email config. Error: )�	Databases�DatabasesUsersr�zDatabasename: rKrJzDatabase user: %szDatabase host: %szDatabase password: %s)r�z0Database exists, changing Database password.. %sz)Failed changing password for database: %sz/Password successfully changed for database: %s.z)Database did not exist, creating new.. %s�
cyberpanelz#Failed the creation of database: %sz"Database: %s successfully created.)r r��dbUserz?Error in RestoreConfig while restoring database config. Error: rR)+rzrr�r rr2rrr%r&r#r$r'r�r�rr�plogical.dnsUtilitiesr�createDNSRecordr0r1�plogical.mailUtilitiesr�split�createEmailAccount�changeEmailPassword�databases.modelsrr�list�keysr,r-r.r/r(r)r*r��changePassword�createDatabaserq)r9�
ConfigPath�RestoreConfigPathr=r@�
ConfigContentr��zonerr�rAr�emailAccountr�rNrLrr�databaser��first�
databaseUsersr�r	�dbHost�dbExist�newDBrBrBrC�
RestoreConfigs��&&����
���������A�"����zCPBackupsV2.RestoreConfigcCs�d|_ddlm}ddlm}|jj|jdd�|_|�	dt
j�tj
�|jd�s7d	|jd��}t�|�t
��|_	|jj|jdd�|_|jjdk�rDd
|jj�d�}d}tt�|�d
|��dd��d��|_tt�ddd��d��|_|j|jkr�|�	dt
j�dS|jd�d|jj��|_d	|j��}t�|�d|j��}t�|�d|j��}t�|�|��\}}|dkr�|�	d|��t
j�dS|jd�d�dkr�|�|jd�d�ddddd|j|jj |jd�	nL|jd�d�dk�rd}d|jj�d�}	n|jj }d}	|	�d|j�d|jd�d |jd�d
|jd�d!�
}t�||d�}
tj
�tj!��r;t"j#�$|
�|�	d"t
j%�dSt&�'d#�t(t
���t(|j�d$k�rk|jj|jdd�|_d|j_|j�)�q=)%Nrrr
r�rr
zStarted restoring,20r�rIr�r�r�rlr�Trr�z<Not enough disk space on the server to restore this website.r�r�z Failed to restore config, Error r-r����r�z/home/vmailr�z/.config/rclone/rclone.conf && rUrGr�r|rr�r�r�)*r6rrr�r�rrrr rzrr�r,r-r.rrXrhr�rprr�r%r'r�r�rorrr �find�restoreDatabaseBackupr2r&r/r(r)r*rvrgr�r�rq)r9rr�r=r�r�rwr;r&�InitialCommandr@rBrBrCrE�sv

���


��6

�zCPBackupsV2.InitiateRestorecCsjddlm}|jj|jdd�|_d|j�d|�d�}t�||jj	d�}t
j�tj
�r3tj�|�dSdS)	Nrr
rr
rGrmz# --prune --password ""  2>/dev/nullT)rrrrrr r2rr%r&r,r-r.r/r(r)r*)r9�deleteStringrr=r@rBrBrC�DeleteSnapshots$s�zCPBackupsV2.DeleteSnapshotscCs�zUd|��}tj�|�rQd|��}t�|�}tt|��t�t�|��	d��}g}|dD]}|�
|d|d|d|d|d	|d
|d|d��q-d
|fWSd
gfWStym}zdt|�fWYd}~Sd}~ww)N�/home/cyberpanel/v2backups/rr�	schedulesr2�	frequency�websiteData�
websiteEmails�websiteDatabases�lastRun�	retention)r2r)r*r+r,r-r.rrr)
r,r-r.rr%r��reprr#r$r'r�r0r1)r �finalConfigPathr=�	RetResultr�r(r�rArBrBrC�FetchCurrentSchedules1s2



�

��z!CPBackupsV2.FetchCurrentSchedulesc
Cs�z>tj�tj�rtj�d|�t�	d|i�}t
jd|d�}t�|j
�d}tj�tj�r<tj�d|�tj�|j
�|WStyb}ztj�dt|����td|�WYd}~dSd}~ww)	NzCurrent Token: rz.https://platform.cyberpersons.com/refreshToken)r�access_tokenz
newtoken: zError in tkupdate: zError Update token:%s)r,r-r.rr/r(r)r*r#r��requests�postr$�textr0r1r�)r�	finalData�r�newtokenrArBrBrCr+Qs ��z!CPBackupsV2.refresh_V2Gdive_tokenc
Cszud|��}tj�|�rqd|��}t�|�}tt|��t�t�|��	d��}	d}
|	dD]+}|d|krT|d|krT|d|krT|d	|krT|d
|krT|	d|
=n|
d}
q-t�
|	�}t|d�}
|
�|�|
�
�d|	fWSdgfWSty�}zdt|�fWYd}~Sd}~ww)
Nr'rrrr(r2r)r*r+r,rr�)r,r-r.rr%r�r/r#r$r'r�rsr�r_r0r1)r r2r)r*r,r+r0r=r1r��counterr��FinalContentr�rArBrBrC�DeleteSchedulehs0


$






��zCPBackupsV2.DeleteSchedulecCs\z�d|��}tj�d�sd}t�|d�tj�|�rpd|��}t�|�}	tt|	��t�	t�|��
d��}
z|
d�||||||dd��Wn||||||dd�g|
d<Yt�|
�}t
|d	�}|�|�|��d
|
fWS|||||||dd�gd�}
t�|
�}t
|d	�}|�|�|��d
|
fWSty�}
zdt|
�fWYd}
~
Sd}
~
ww)
Nr'z$mkdir -p /home/cyberpanel/v2backups/rrrr(rU)r2r.r)r*r+r,r-r�r)�siter(r)r,r-r.rrXr%r�r/r#r$r'r�r�rsr�r_r0r1)r r2r)r*r,r+r.r0r=r1r�r;r�rArBrBrC�CreateScheduleV2�sR


��



��



��zCPBackupsV2.CreateScheduleV2c
Cstz!d|�d�}tj�|�rd|�d|��}t�||d�WdSWdSty9}zdt|�fWYd}~Sd}~ww)	Nrz/.config/rclone/rclone.confzsed -i '/\[z\]/,/^$/d' T)r�Done)rzRepo not found!r)r,r-r.rr%r0r1)r r2�eur0r=rArBrBrC�DeleteRepoScheduleV2�s��z CPBackupsV2.DeleteRepoScheduleV2c	
Cs(zutj�tj�ssd}t�|dd�d}t�|�}|j	dkr*|�
�}|d}|d}ndt|j�fWSddl
m}|��rQd	||f}t�|�d
|}t�|�nd||f}t�|�d|}t�|�d
}t�|�d}t�|�WdSty�}ztd|�dt|�fWYd}~Sd}~ww)Nz.curl https://rclone.org/install.sh | sudo bashTz=https://api.github.com/repos/rustic-rs/rustic/releases/latest���tag_namer�r)�
ACLManagerzxwget -P /home/rustic https://github.com/rustic-rs/rustic/releases/download/%s/rustic-%s-aarch64-unknown-linux-gnu.tar.gzzQtar xzf /home/rustic/rustic-%s-aarch64-unknown-linux-gnu.tar.gz -C /home/rustic//zxwget -P /home/rustic https://github.com/rustic-rs/rustic/releases/download/%s/rustic-%s-x86_64-unknown-linux-musl.tar.gzzQtar xzf /home/rustic/rustic-%s-x86_64-unknown-linux-musl.tar.gz -C /home/rustic//z%sudo mv /home/rustic/rustic /usr/bin/zrm -rf /home/rusticrRz	Error: %s)r,r-r.r�RUSTIC_PATHrrXr4r�status_coder#r1re�plogical.aclrD�ISARMr0r�)	r9r=�url�responser�versionr�rDrArBrBrCr&sN


�
��
�


��zCPBackupsV2.InstallRusticN)#�__name__�
__module__�__qualname__�
PENDING_STARTr�rvrorY�LOCALr`rE�
RCLONE_CONFIGr=rrFrHrf�staticmethodrhrzr�r�rDr�r�r�r rEr&r2r+r<r>rArrBrBrBrCrsPn	
L
),O3-*g


 
8
cr�__main__zCyberPanel Backup Generator)�descriptionr	zSpecify a function to call!)�helpz--pathrU�BackupDataBases�	finalPathrEzcyberpanel.netz/home/backupr�usman)r	rr�r�r)%�argparser#r,�sysrgrZr4�configparser�django.httprr-r��django�plogical.CyberCPLogFileWriterr)r(r�r��environ�
setdefault�setup�plogical.processUtilitiesr�pu�	threadingrrrrL�ArgumentParser�parser�add_argument�
parse_args�argsr	�cpbuv2rErBrBrBrC�<module>sdI
����