स्वचालित रूप से एक कमांड हर 5 मिनट चलाएं


10

मैं लिनक्स का उपयोग करने के लिए बहुत नया हूं और विशेष रूप से कमांड लाइन के साथ। मैं Plex Media Server को सफलतापूर्वक प्राप्त करने और चलाने में कामयाब रहा हूं, लेकिन मुझे अपने Amazon ड्राइव के साथ सिंक करने के लिए हर 5 मिनट में निम्न कमांड को चलाने की आवश्यकता है।

acd_cli सिंक

मैंने कई अलग-अलग तरीकों की कोशिश की है जैसे बैश स्क्रिप्ट और यह काम करने के लिए नहीं मिल सकता है। मुझे बस हर 5 मिनट चलाने के लिए ऊपर की कमांड की आवश्यकता है और ऐसा लगता है कि एक आसान तरीका है जिसके बारे में मुझे नहीं पता है।

जवाबों:


7

आसान विधि

आप एक बैश स्क्रिप्ट सेट कर सकते हैं, जो हमेशा उस कमांड को निष्पादित करता है जो फिर 5 मिनट के लिए सोता है।

एक टर्मिनल खोलें और इस कमांड को निष्पादित करें:

sudo nano /usr/local/bin/amazon-sync

फिर, निम्न टाइप करें:

#!/bin/sh  
while true  
do  
  acd_cli sync  
  sleep 300  
done

बचाने के लिए ctrl+ दबाएंo

बाहर निकलने के लिए ctrl+ दबाएंx

इस आदेश का पालन करें:

sudo chmod +x /usr/local/bin/amazon-sync  

जब आप अपने कंप्यूटर प्रेस शुरू ctrl+ alt+ tऔर प्रकार amazon-syncतो टर्मिनल विंडो को कम। कमांड हर 5 मिनट (300 सेकंड) पर एक बार चलेगा।


स्टार्टअप पर इसे चलाने का एक तरीका है, लेकिन पिछली बार मैंने यह करने की कोशिश की कि मुझे जो करना था उसे पूर्ववत करने के लिए सिस्टम रिकवरी में जाना था, लेकिन मुझे पता है कि अगर आप इसे सही करते हैं तो यह संभव है।
cheesits456

इसे स्टार्ट-अप पर काम करने के लिए आपको एक क्रोनजॉब की आवश्यकता होती है। नीचे मेरा जवाब देखें।
माइकल सैंडमैन

14

आप उपयोग कर सकते हैं

crontab -e

उपयोगकर्ता क्रोन शेड्यूल बनाने के लिए।

आपके लिए विशेष रूप से आवश्यक पंक्ति है

*/5 * * * * /home/YOU/backup.sh

में backup.shकिसी भी आदेशों आप चलाना चाहते हैं जोड़ने के लिए, सुनिश्चित करें कि स्क्रिप्ट निष्पादन योग्य है, यानी बनानाchmod +x backup.sh

अच्छी तरह से देखिए

http://www.unixgeeks.org/security/newbie/unix/cron-1.html


4

watchयदि आपको स्क्रीन पर आउटपुट दिखाने और स्वचालित रूप से साफ़ करने की आवश्यकता है, तो कमांड भी है ।

watch -n 300 acd_cli sync

1

जब आप 5 मिनट कहते हैं, तो क्या आपका मतलब 5 मिनट है या आप कमांड के बारे में 5 मिनट में भूल जाएंगे और इसे अनिश्चित काल के लिए छोड़ देंगे

चुनने के लिए बहुत सारे विकल्प हैं, लेकिन मैं आपको इसे लागू करने के 4 चतुर तरीके दिखाऊंगा।


for (( i=0; i<=20; i++)); do 'acd_cli sync' $i ;sleep 300; done

यह कहता है कि मैं 0 है, फिर 0 20 से कम है, इसलिए यह 1 तक शून्य से 1 तक पहुंच जाएगा। इसलिए यह 20 बार चलेगा। हर 5 मिनट में

while true; do 'acd_cli sync'; sleep 300; done | at now +30 min

यह सच है, यह कहते हैं कि हर 5 मिनट में कमांड दें, जो अब 30 मिनट के लिए शुरू हो रहा है, इस कमांड को चलाने के लिए आपको apt install पर - aassume-yes पर इंस्टॉल करना होगा, बिल्कुल यकीन नहीं है कि यह काम करेगा एक लूप हालांकि

while true [ $i -lt 20 ]; do 'acd_cli sync' & i=$[$i+1];sleep 300; done

यह कमांड कहता है, जबकि $ i 20 से कम रहता है, अमेज़ॅन क्लाउड ड्राइव कमांड लाइन इंटरफ़ेस को आपने सूचीबद्ध किया है, तो मैं अभी भी आदेश की प्रत्येक घटना पर, हर 5 मिनट में हमेशा के लिए प्लस एक हूं

for i in $(seq 20); do 'acd_cli sync' $i; sleep 300; done

यह कहता है कि इनपुट अनुक्रम 20 के लिए अमेज़ॅन क्लाउड ड्राइव सिंक करें, हर 5 मिनट 20 बार

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.