मैं एक वेब सर्वर से एक फ़ाइल को एक उत्तरदायी प्लेबुक के भीतर से एक फ़ाइल को भूलने की कोशिश कर रहा हूं।उत्तर और Wget
---
- hosts: all
sudo: true
tasks:
- name: Prepare Install folder
sudo: true
action: shell sudo mkdir -p /tmp/my_install/mysql/ && cd /tmp/my_install/mysql/
- name: Download MySql
sudo: true
action: shell sudo wget http://{{ repo_host }}/MySQL-5.6.15-1.el6.x86_64.rpm-bundle.tar
के माध्यम से इसे लागू:
यहाँ Ansible टुकड़ा है
ansible-playbook my_3rparties.yml -l vsrv644 --extra-vars "repo_host=vsrv656" -K -f 10
यह साथ विफल निम्नलिखित:
Cannot write to `MySQL-5.6.15-1.el6.x86_64.rpm-bundle.tar' (Permission denied).
FATAL: all hosts have already failed -- aborting
PLAY RECAP ********************************************************************
to retry, use: --limit @/usr2/ihazan/vufroria_3rparties.retry
vsrv644 : ok=2 changed=1 unreachable=0 failed=1
जब आदेश के माध्यम से विफल करने का प्रयास कर नियमित रिमोट एसएसएच यह समझाने के लिए कि क्या उत्तरदायी होगा, यह निम्नानुसार काम नहीं करता है:
-bash-4.1$ ssh [email protected] 'cd /tmp/my_install/mysql && sudo wget http://vsrv656/MySQL-5.6.15-1.el6.x86_64.rpm-bundle.tar'
Enter passphrase for key '/usr2/ihazan/.ssh/id_rsa':
sudo: sorry, you must have a tty to run sudo
लेकिन मैं इसे आयकर का उपयोग कर के रूप में इस का समाधान कर सकते हैं:
-bash-4.1$ ssh -t [email protected] 'cd /tmp/my_install/mysql && sudo wget http://vsrv656/MySQL-5.6.15-1.el6.x86_64.rpm-bundle.tar'
तो यह काम करता है।
क्या उत्तर पर -t (छद्म tty विकल्प) सेट करने का कोई तरीका है?
पीएस: मैं इसे सडोएर्स फ़ाइल को संपादित करके हल कर सकता हूं क्योंकि दूसरों का प्रस्ताव है लेकिन यह एक मैन्युअल कदम है जिसे मैं टालने की कोशिश कर रहा हूं।
Thx, यह सहायक था !!! –