??????????????
Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/mentol.bf1.my/SS1.php:4) in /home/mybf1/public_html/mentol.bf1.my/SS1.php on line 173

Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/mentol.bf1.my/SS1.php:4) in /home/mybf1/public_html/mentol.bf1.my/SS1.php on line 174

Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/mentol.bf1.my/SS1.php:4) in /home/mybf1/public_html/mentol.bf1.my/SS1.php on line 175

Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/mentol.bf1.my/SS1.php:4) in /home/mybf1/public_html/mentol.bf1.my/SS1.php on line 176

Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/mentol.bf1.my/SS1.php:4) in /home/mybf1/public_html/mentol.bf1.my/SS1.php on line 177

Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/mentol.bf1.my/SS1.php:4) in /home/mybf1/public_html/mentol.bf1.my/SS1.php on line 178
ó ßUdac@`sšddlmZmZmZeZidd6dgd6dd6ZdZd Zd Z dd l Z dd l Z dd l Z dd l Z dd lZ dd lZdd lZdd lZdd lZdd lZdd lZdd lmZdd lmZddlmZmZddlmZeade fd„ƒYZ!d„Z"d„Z#d„Z$d„Z%d„Z&d„Z'd„Z(d„Z)e*dkr–e)ƒnd S(i(tabsolute_importtdivisiontprint_functions1.1tmetadata_versiontstableinterfacetstatustcoret supported_bys$ --- module: copy version_added: historical short_description: Copy files to remote locations description: - The C(copy) module copies a file from the local or remote machine to a location on the remote machine. - Use the M(fetch) module to copy files from remote locations to the local box. - If you need variable interpolation in copied files, use the M(template) module. Using a variable in the C(content) field will result in unpredictable output. - For Windows targets, use the M(win_copy) module instead. options: src: description: - Local path to a file to copy to the remote server. - This can be absolute or relative. - If path is a directory, it is copied recursively. In this case, if path ends with "/", only inside contents of that directory are copied to destination. Otherwise, if it does not end with "/", the directory itself with all contents is copied. This behavior is similar to the C(rsync) command line tool. type: path content: description: - When used instead of C(src), sets the contents of a file directly to the specified value. - Works only when C(dest) is a file. Creates the file if it does not exist. - For advanced formatting or if C(content) contains a variable, use the M(template) module. type: str version_added: '1.1' dest: description: - Remote absolute path where the file should be copied to. - If C(src) is a directory, this must be a directory too. - If C(dest) is a non-existent path and if either C(dest) ends with "/" or C(src) is a directory, C(dest) is created. - If I(dest) is a relative path, the starting directory is determined by the remote host. - If C(src) and C(dest) are files, the parent directory of C(dest) is not created and the task fails if it does not already exist. type: path required: yes backup: description: - Create a backup file including the timestamp information so you can get the original file back if you somehow clobbered it incorrectly. type: bool default: no version_added: '0.7' force: description: - Influence whether the remote file must always be replaced. - If C(yes), the remote file will be replaced when contents are different than the source. - If C(no), the file will only be transferred if the destination does not exist. - Alias C(thirsty) has been deprecated and will be removed in 2.13. type: bool default: yes aliases: [ thirsty ] version_added: '1.1' mode: description: - The permissions of the destination file or directory. - For those used to C(/usr/bin/chmod) remember that modes are actually octal numbers. You must either add a leading zero so that Ansible's YAML parser knows it is an octal number (like C(0644) or C(01777))or quote it (like C('644') or C('1777')) so Ansible receives a string and can do its own conversion from string into number. Giving Ansible a number without following one of these rules will end up with a decimal number which will have unexpected results. - As of Ansible 1.8, the mode may be specified as a symbolic mode (for example, C(u+rwx) or C(u=rw,g=r,o=r)). - As of Ansible 2.3, the mode may also be the special string C(preserve). - C(preserve) means that the file will be given the same permissions as the source file. type: path directory_mode: description: - When doing a recursive copy set the mode for the directories. - If this is not set we will use the system defaults. - The mode is only set on directories which are newly created, and will not affect those that already existed. type: raw version_added: '1.5' remote_src: description: - Influence whether C(src) needs to be transferred or already is present remotely. - If C(no), it will search for C(src) at originating/master machine. - If C(yes) it will go to the remote/target machine for the C(src). - C(remote_src) supports recursive copying as of version 2.8. - C(remote_src) only works with C(mode=preserve) as of version 2.6. type: bool default: no version_added: '2.0' follow: description: - This flag indicates that filesystem links in the destination, if they exist, should be followed. type: bool default: no version_added: '1.8' local_follow: description: - This flag indicates that filesystem links in the source tree, if they exist, should be followed. type: bool default: yes version_added: '2.4' checksum: description: - SHA1 checksum of the file being transferred. - Used to validate that the copy of the file was successful. - If this is not provided, ansible will use the local calculated checksum of the src file. type: str version_added: '2.5' extends_documentation_fragment: - decrypt - files - validate notes: - The M(copy) module recursively copy facility does not scale to lots (>hundreds) of files. seealso: - module: assemble - module: fetch - module: file - module: synchronize - module: template - module: win_copy author: - Ansible Core Team - Michael DeHaan sd - name: Copy file with owner and permissions copy: src: /srv/myfiles/foo.conf dest: /etc/foo.conf owner: foo group: foo mode: '0644' - name: Copy file with owner and permission, using symbolic representation copy: src: /srv/myfiles/foo.conf dest: /etc/foo.conf owner: foo group: foo mode: u=rw,g=r,o=r - name: Another symbolic mode example, adding some permissions and removing others copy: src: /srv/myfiles/foo.conf dest: /etc/foo.conf owner: foo group: foo mode: u+rw,g-wx,o-rwx - name: Copy a new "ntp.conf file into place, backing up the original if it differs from the copied version copy: src: /mine/ntp.conf dest: /etc/ntp.conf owner: root group: root mode: '0644' backup: yes - name: Copy a new "sudoers" file into place, after passing validation with visudo copy: src: /mine/sudoers dest: /etc/sudoers validate: /usr/sbin/visudo -csf %s - name: Copy a "sudoers" file on the remote machine for editing copy: src: /etc/sudoers dest: /etc/sudoers.edit remote_src: yes validate: /usr/sbin/visudo -csf %s - name: Copy using inline content copy: content: '# This file was moved to /etc/other.conf' dest: /etc/mine.conf - name: If follow=yes, /path/to/file will be overwritten by contents of foo.conf copy: src: /etc/foo.conf dest: /path/to/link # link to /path/to/file follow: yes - name: If follow=no, /path/to/link will become a file and be overwritten by contents of foo.conf copy: src: /etc/foo.conf dest: /path/to/link # link to /path/to/file follow: no s- dest: description: Destination file/path returned: success type: str sample: /path/to/file.txt src: description: Source file used for the copy on the target machine returned: changed type: str sample: /home/httpd/.ansible/tmp/ansible-tmp-1423796390.97-147729857856000/source md5sum: description: MD5 checksum of the file after running copy returned: when supported type: str sample: 2a5aeecc61dc98c4d780b14b330e3282 checksum: description: SHA1 checksum of the file after running copy returned: success type: str sample: 6e642bb8dd5c2e027bf21dd923337cbb4214f827 backup_file: description: Name of backup file created returned: changed and if backup=yes type: str sample: /path/to/file.txt.2015-02-12@22:09~ gid: description: Group id of the file, after execution returned: success type: int sample: 100 group: description: Group of the file, after execution returned: success type: str sample: httpd owner: description: Owner of the file, after execution returned: success type: str sample: httpd uid: description: Owner id of the file, after execution returned: success type: int sample: 100 mode: description: Permissions of the target, after execution returned: success type: str sample: 0644 size: description: Size of the target, after execution returned: success type: int sample: 1220 state: description: State of the target, after execution returned: success type: str sample: file N(t AnsibleModule(t get_bin_path(tto_bytest to_native(tPY3tAnsibleModuleErrorcB`seZd„ZRS(cC`s ||_dS(N(tresults(tselfR((s>/usr/lib/python2.7/site-packages/ansible/modules/files/copy.pyt__init__s(t__name__t __module__R(((s>/usr/lib/python2.7/site-packages/ansible/modules/files/copy.pyR sc C`s§tdtƒ}|d|g}g|D]}t|ƒ^q%}tj|dtddddddƒƒ\}}}|dkr£td jd j|ƒ||ƒƒ‚ndS( Ntsetfacls-btenviron_updatetLANGtCtLC_ALLt LC_MESSAGESis1Error running "{0}": stdout: "{1}"; stderr: "{2}"t ( R tTrueR tmodulet run_commandtdictt RuntimeErrortformattjoin(tpathRt acl_commandtxt b_acl_commandtrctoutterr((s>/usr/lib/python2.7/site-packages/ansible/modules/files/copy.pyt clear_facls%s 3 cC`s³tjj|ƒ\}}t|ddƒ}|dkrCd|gfStjj|ƒs|dkrztdidd6ƒ‚nt|ƒ\}}n ||gfS|j|ƒ||fS( si Return the first pre-existing directory and a list of the new directories that will be created. terrorstsurrogate_or_stricttt.t/Rs0The '/' directory doesn't exist on this machine.tmsg(tosR!tsplitR texistsR tsplit_pre_existing_dirtappend(tdirnametheadttailtb_headtpre_existing_dirtnew_directory_list((s>/usr/lib/python2.7/site-packages/ansible/modules/files/copy.pyR2/s     cC`s_|r[tjj||jdƒƒ}||d<|j||ƒ}t|||||ƒ}n|S(s] Walk the new directories list and make sure that permissions are as we would expect iR!(R/R!R tpoptset_fs_attributes_if_differentt&adjust_recursive_directory_permissions(R8R9Rtdirectory_argstchangedt working_dir((s>/usr/lib/python2.7/site-packages/ansible/modules/files/copy.pyR<As  cC`s¬t}|jd}|jd}|dk rd|js?x)tj|ƒD]ó\}}}|j||tƒ}|tkr~|}nxZg|D]} tjj || ƒ^qˆD]0} |j| |tƒ}|tkr§|}q§q§WxZg|D]} tjj || ƒ^qåD]0} |j| |tƒ}|tkr|}qqWqEWqdt j |ƒj } xtj|ƒD]ü\}}}tj |ƒj| k}|tkr|}nx]g|D]} tjj || ƒ^q§D]3} tj | ƒj| k}|tkrÆ|}qÆqÆWx]g|D]} tjj || ƒ^qD]3} tj | ƒj| k}|tkr&|}q&q&WqaWn|dk r¨|jsƒx)tj|ƒD]ó\}}}|j||tƒ}|tkrÂ|}nxZg|D]} tjj || ƒ^qÌD]0} |j| |tƒ}|tkrë|}qëqëWxZg|D]} tjj || ƒ^q)D]0} |j| |tƒ}|tkrH|}qHqHWq‰Wq¨tj|ƒj}xtj|ƒD]ü\}}}tj |ƒj|k}|tkrá|}nx]g|D]} tjj || ƒ^qëD]3} tj | ƒj|k}|tkr |}q q Wx]g|D]} tjj || ƒ^qKD]3} tj | ƒj|k}|tkrj|}qjqjWq¥Wn|S(Ntownertgroup(tFalsetparamstNonet check_modeR/twalktset_owner_if_differentRR!R tpwdtgetpwnamtpw_uidtstattst_uidtset_group_if_differenttgrptgetgrnamtgr_gidtst_gid(R!RR>R@RAtdirpathtdirnamest filenamest owner_changedtdtdirtftfiletuidt group_changedtgid((s>/usr/lib/python2.7/site-packages/ansible/modules/files/copy.pytchown_recursiveNst      /  /   /  /     /  /   /  / cC`s`t}|jd}|jd}|jd}tj||ƒj}t|ƒrWt}n|js\xù|D]î}tj j ||ƒ} tj j ||ƒ} t | ddƒ} t | ddƒ} tj j | ƒrû|tkrûtj | ƒ} tj| | ƒntj| | ƒ|dk r-|j| |tƒn|dk rO|j| |tƒnt}qgWn|S(NR@RAt local_followR)R*(RBRCtfilecmptdircmpt diff_filestlenRRER/R!R R tislinktreadlinktsymlinktshutiltcopyfileRDRGRM(tsrctdestRR>R@RAR^Ratitemt src_item_pathtdest_item_pathtb_src_item_pathtb_dest_item_pathtlinkto((s>/usr/lib/python2.7/site-packages/ansible/modules/files/copy.pytcopy_diff_filess.          cC`st}|jd}|jd}|jd}tj||ƒj}t|ƒrWt}n|jsx¯|D]¤}tj j ||ƒ} tj j ||ƒ} t | ddƒ} t | ddƒ} tj j | ƒrtj j | ƒr|tkrtj| | d| ƒt| |ƒntj j | ƒrdtj j | ƒrd|tkrdtj| ƒ} tj| | ƒntj j | ƒrëtj j| ƒrë|tkrëtj| | ƒ|dk rÆ|j| |tƒn|dk rë|j| |tƒqëntj j | ƒr=tj j| ƒr=|tkr=tj| ƒ} tj| | ƒntj j | ƒ r¹tj j| ƒr¹tj| | ƒ|dk r”|j| |tƒn|dk r¹|j| |tƒq¹ntj j | ƒ rtj j | ƒrtj| | d| ƒt| |ƒnt}qgWn|S(NR@RAR^R)R*tsymlinks(RBRCR_R`t left_onlyRbRRER/R!R R RctisdirRftcopytreeR]RdRetisfileRgRDRGRM(RhRiRR>R@RAR^RrRjRkRlRmRnRo((s>/usr/lib/python2.7/site-packages/ansible/modules/files/copy.pytcopy_left_only«sN       000  0%  % c C`sít}tj||ƒj}xË|D]Ã}tjj||ƒ}tjj||ƒ}t|ddƒ}t|ddƒ} t|| |ƒ} t || |ƒ} | s¦| r¯t }n|pât tjj||ƒtjj||ƒ|ƒ}q"W|S(NR)R*( RBR_R`t common_dirsR/R!R R RpRvRtcopy_common_dirs( RhRiRR>RwRjRkRlRmRntdiff_files_changedtleft_only_changed((s>/usr/lib/python2.7/site-packages/ansible/modules/files/copy.pyRxÜs   :c))C`sƒtdtdtddƒdtddƒdtdddtƒd tddd tƒd tdd d tƒdtdd d tddgƒdtddƒdtddƒdtdd ƒdtdd ƒdtddƒƒ dtdtƒatjjdƒr tjdddƒntjd}t|ddƒ}tjd }t j j |kredj t j j |ƒ}nt|ddƒ}tjd }tjd}tjjddƒ}tjjddƒ}tjd}tjd} tjd } tjd!} tjd"} tjd} tjd}t j j|ƒs?tjd#d$|ƒnt j|t jƒsktjd#d%|ƒntjd d&kr§d'tjt j|ƒjƒtjd }d-t'|ƒj*ƒkr?tjd#d.t j j|ƒƒq?nXtjd#d/t j j|ƒƒnt jt j j|ƒt j+ƒ rµtjd0 rµtjd#d1t j j|ƒƒnd}||ksÙt j j%|ƒr< tj,s3 y|rt j j|ƒrtj-|ƒ}qnt j j%|ƒrGt j.|ƒt/|d2ƒj0ƒn|r&| dk rotj1|| tƒn| dk r‘tj2|| tƒn| dk r³tj3|| tƒnd3|krÖtjd#d4|ƒntj4||ƒ\}}}|d5kr&tjd#d6d7|d8|d9|ƒq&n|}| råt j j|ƒråt5j6d:t j j|ƒƒ\} }t7j8||ƒyt7j9||ƒWqåt)k rá}|j:t:j;krÛ| d&krÛtj<d;j t'|ƒƒƒqâ‚qåXnt=r2 t>t d<ƒr2 yd=t j?|ƒk}!Wq2 t@k r. }t}!q2 XntjA||d0tjd0ƒt=rï t>t d<ƒrï tBjCƒd>krï | rï |!rï ytD|ƒWqì tk r¾ }d?t'|ƒkr¸ qé ‚qì tEk rè }d@t'|ƒkrâ qé ‚qì Xqï nWq3 tFt)fk r/ tjd#dA||fdBtGjHƒƒq3 Xnt}nt}|dkró|dkró| rót j j#tjdƒróttjdddƒ}ttjd ddƒ}|jt j j ƒrB t j j#tjd ƒrB tI||tƒ}"tJ||tƒ}#tK||tƒ}$tL|tƒ}%|"s6 |#s6 |$s6 |%rB t}qB n|jt j j ƒr t j jtjd ƒ r tt j j$|ƒddƒ}&tt j j||&ƒddƒ}tt j jtjddCƒddƒ}tj,sû t7jM||dD| ƒntL|tƒt}n|jt j j ƒ r” t j j#tjd ƒr” tt j j$|ƒddƒ}&tt j j||&ƒddƒ}tt j jtjddCƒddƒ}tj, rñ t j j|ƒ rñ t7jM||dD| ƒt}tL|tƒntj,r t j j|ƒ r t}nt j j|ƒr” tI||tƒ}"tJ||tƒ}#tK||tƒ}$tL|tƒ}%|"s… |#s… |$s… |%r‘ t}q‘ q” n|jt j j ƒ rðt j jtjd ƒ rðtt j j$tjdƒddƒ}&tt j j||&ƒddƒ}tj, rÅt j j|ƒ rÅt j |ƒtt j jtjddCƒddƒ}tI||tƒ}"tJ||tƒ}#tK||tƒ}$tL|tƒ}%|"s¹|#s¹|$s¹|%rÅt}qÅntj,rít j j|ƒ rít}qíqðqóntd |d|dE|d|d,|ƒ}'|r-||'dFspermission denieds*Destination directory %s is not accessibles'Destination directory %s does not existt unsafe_writessDestination %s not writabletws%ssvalidate must contain %%s: %sisfailed to validatet exit_statuststdouttstderrRWsUnable to copy stats {0}t listxattrssystem.posix_acl_accesstLinuxRsOperation not supportedsfailed to copy: %s to %st tracebackR+Rqtmd5sumt backup_file(ORRRRBRRCtgett deprecateR R/R!tsepRRDR1t fail_jsontaccesstR_OKRKtS_IMODEtst_modeRutsha1tmd5t ValueErrortendswithR R4R2R tresultRtmakedirstload_file_common_argumentsR<RstbasenameRctrealpathR t exit_jsontOSErrortlowertW_OKREt backup_localtunlinktopentclosetset_mode_if_differentRGRMRttempfiletmkstempRfRgtcopystatterrnotENOSYStwarnR thasattrR™t Exceptiont atomic_movetplatformtsystemR(RtIOErrorR›t format_excRpRvRxR]RtR;()Rhtb_srcRitb_destR‚R…R}RˆRR^R‘R@RAR‹RŒt checksum_destt checksum_srct md5sum_srcR>R4t b_dirnameR8R9teR=R‰R­RR%R&R'tb_mysrct_t src_has_aclsRyRztcommon_dirs_changedtowner_group_changedt b_basenametres_argst file_args((s>/usr/lib/python2.7/site-packages/ansible/modules/files/copy.pytmainîs¨            )            %''#0#       ($  .- . /!(   /!( 0%! ( !   t__main__(+t __future__RRRR|t __metaclass__tANSIBLE_METADATAt DOCUMENTATIONtEXAMPLEStRETURNR»R_RNR/tos.pathRÁRHRfRKR¸R›tansible.module_utils.basicRt#ansible.module_utils.common.processR tansible.module_utils._textR R tansible.module_utils.sixR RDRR¿R R(R2R<R]RpRvRxRÔR(((s>/usr/lib/python2.7/site-packages/ansible/modules/files/copy.pytsF   wA?             A  1  ÿ)