Your IP : 216.73.216.101


Current Path : /opt/sharedrads/__pycache__/
Upload File :
Current File : //opt/sharedrads/__pycache__/toggle_access_logs.cpython-313.pyc

�

iXMj2���SrSSKrSSKrSSKrSSKrSSKJr \"S5\"S54\"S5\"S54/r\"S5r\"S5S	\"S5S
0r	S\S\S
\
4SjrS\S\S
\4Sjr
S\4SjrS\S\4SjrSrSr\S:Xa\"5 gg)�7Toggle Apache/Nginx access logs on or off via symlinks.�N)�Pathz"/var/log/apache2/access_log_globalz&/var/log/apache2/access_log_global.symz/var/log/nginx/access.logz/var/log/nginx/access.log.symz	/dev/null�httpd�nginx�log_path�backing�returnc�N�UR5(agUR5(dUR5(dgUR5(aOUR5(d:[R"[	U5[	U55 URU5 g)z�Ensure the symlink structure is in place.

Returns True if the log exists (or was set up), False if
neither the log nor its backing file exist.
TF)�
is_symlink�exists�shutil�move�str�
symlink_to)rrs  �%/opt/sharedrads/toggle_access_logs.py�setuprst���������?�?���W�^�^�%5�%5��������!4�!4�!6�!6����C��M�3�w�<�0����G�$��c�4�UR5(d,UR5(dUR5(aggUR5(dgUR5nU[:XagX!R5:XagSUR	53$)Nz*backing file exists but symlink is missingznot presentzregular file (not yet managed)�disabled�enabledz symlinked to unexpected target: )rr�resolve�DEVNULL�readlink)rr�targets   r�statusr0s����?�?���X�%8�%8�%:�%:��>�>���?����� � �/�
�
�
�
�F�
����
���"�"��
-�h�.?�.?�.A�-B�C�Crc�>�[RU5nU(dg[R"SSU/SSS9 [	SU35 g![R
aAn[	SUSURR5R535 SnAgSnAff=f)	z@Reload the service that owns this log so it picks up the new FD.N�	systemctl�reloadT)�check�capture_outputz  reloaded z  warning: failed to reload �: )	�SERVICE_FOR_LOG�get�
subprocess�run�print�CalledProcessError�stderr�decode�strip)r�service�excs   r�reload_servicer-As����!�!�(�+�G���
����
�(�G�,���	
�
	��G�9�%�&���(�(�
�
�*�7�)�2��z�z� � �"�(�(�*�+�
-�	
�	
��
�s�'A�B�7B�Brc�F�UR5 URU5 g)z3Replace the symlink at log_path to point at target.N)�unlinkr)rrs  r�relinkr0Ts���O�O������rc��[R"SS9nUR5nURSSSS9 URSSSS9 UR	5$)	z+Parse the CLI args that were passed throughr)�descriptionz--enable�
store_truez+Point log symlinks at the real backing file)�action�helpz	--disablezPoint log symlinks at /dev/null)�argparse�ArgumentParser�add_mutually_exclusive_group�add_argument�
parse_args)�parser�groups  rr:r:Zsp��
�
$�
$�M��F�
�/�/�1�E�	�����
:���

�����
.���
����rc���[5n[H�up[X5nU(d2UR(dUR(a[US35 MIUR(a&[
X5 [US35 [U5 M�UR(a+[
U[5 [US35 [U5 M�[X5n[USU35 M� g)Nz: skipped (not present)z	: enabledz
: disabledr!)
r:�LOGSr�enable�disabler&r0r-rr)�argsrr�present�states     r�mainrDls����<�D�!�����*����{�{�d�l�l���
�"9�:�;���;�;��8�%��X�J�i�(�)��8�$�
�\�\��8�W�%��X�J�j�)�*��8�$��8�-�E��X�J�b���(�)�%"r�__main__)�__doc__r6r
r$�sys�pathlibrr>rr"�boolrrrr-r0r:rD�__name__�rr�<module>rLs���=��
��
��	
�
1�2��
5�6��
	
�
(�)��
,�-��	���{�
��	�	-�.���	$�%�w����D��4��D��&D�T�D�D�D�S�D�"
�T�
�& �T� �4� ��$*�2�z���F�r