Forum

Linux de bat dosyas...
 
Bildirimler
Hepsini Temizle

Linux de bat dosyası

14 Yazılar
10 Üyeler
0 Reactions
6,421 Görüntüleme
(@mkiraz)
Gönderiler: 32
Trusted Member
Konu başlatıcı
 

Linux de  batch file hazırlamak istiyorum. Amacım tar komutu ile sıkıstırma arsivleme yapmak, service komutuyla servis acıp kapatmak.


Bu 2 ayrı komut icin windowsdaki gibi bat dosyası nasıl yapabilirim, hem text modda hem de GUI arabiriminde nasıl yapılır batch dosyası?


Bir de calıstırmak icin GUI de uzerine cift mi tıklanıyor? Yoksa Konsole dana dosya adınımı yazarak calıstırıyorsunuz?

 
Gönderildi : 14/04/2009 00:31

(@alikemalturker)
Gönderiler: 1016
Noble Member
 

Merhabalar,

Buna bat yazma demeyelim de(Linux kullanan üstadlara ayıp olur) betik yada script yazma diyelim. Yazdığınız script'i belirli zamanlarda çalıştırmak için  onu crontab'e eklemeniz gerekir. Service komutu ile çalıştırmanıza gerek yok. Yazdığınız betik de hangi klasörleri yedek alacağını belirtirseniz sorun çözülür.

 
Gönderildi : 14/04/2009 15:56

(@cetintek)
Gönderiler: 35
Trusted Member
 

Hocam arkadasımızın sorusunu ben de merak ettim, yeniyim ben de Linux de.


linux script i komut satırından nasıl calıstırılır nasıl bir komutu vardır, ve tabi nasıl yazıcaz?

 
Gönderildi : 15/04/2009 01:03

(@alikemalturker)
Gönderiler: 1016
Noble Member
 

crontab -e     Crontab'e girişini yapar, yoksa yaratır.
crontab -l     Crontab'i görüntüler
crontab -r      Crontab dosyaını kaldırır
crontab -v      Crontab e en son girişini gösterir.

30     18    
*     *     *        

rm /tmp/*  her gün akşam 6.30 tmp dosyalarını temizler.

Kolay gele

 
Gönderildi : 15/04/2009 14:42

(@ridvan)
Gönderiler: 55
Estimable Member
 

Konuyla ilgili ben de şunu anlamak istiyorum.


Linux shell komutları ile kernel komutları aynı şeyi ifade etmiyor değil mi? Mesela chmod komutu adduser komutu ls komutu bunlar Linux komutu olarak mı adlandırmak doğru shell komutu olarak mı adlandırmak doğrudur?


Öğrendiğim kadarıyla Linux scriptleri .sh uzantılı olarak yazılıyor. Script içinde iptables gibi komutlar ya da bilinen bütün linux komutları çalıştırılabilir mi?


Ve scripti o anda çalıştırmak için konsolda path ini ve adını yazmak yeterli midir? 


 

 
Gönderildi : 04/03/2010 12:46

(@SinanTEMUR)
Gönderiler: 26
Eminent Member
 

Linux'da birden fazla kabuk bulunmaktadır ve komutlarda, işlevlerde farklılıklar gösterebilir. O bilgi birikime sahip isen sıfıdan kabuk bile yazabilirsin. Hangi kabuğu kullandığını öğrenmek için $ echo $SHELL komutu yeterli olacaktır.  Script'de linux komutları kullanabilir, ama bu bana yeterli olmaz diyorsan eğer kabuk programlamaya giriş yapman gerekiyor. O ise biraz çetrefilli bir iş.

Scripti path'ini yazarak çağırabilirsin.



 
Gönderildi : 08/03/2010 14:01

(@mucahidyardim)
Gönderiler: 192
Estimable Member
 

Öğrendiğim kadarıyla Linux scriptleri .sh uzantılı olarak
yazılıyor. Script içinde iptables gibi komutlar ya da bilinen bütün
linux komutları çalıştırılabilir mi?

 

evet çalıştırabilirsin hocam.

# vi deneme.sh

komutu ile bir dosya açın. dosya içine

ls

yazıp kaydedin çıkın.

#sh deneme.sh

komutunu çalıştırdığınızda ls komutunun çalıştığı görülür.

 iyi çalışmalar.

 
Gönderildi : 08/03/2010 19:56

(@vmcode)
Gönderiler: 32
Eminent Member
 

Örnek bir uygulamam oracle yedeklerini alıp bir sunucu üzerine update ediyor.

 Uzantlarda .sh zorunluluğu yoktur (Ne olduğunu anlamak isterseniz sh önerilir.) sadece chmod ile +x vermiş olmanız gerekir. (execute)

<!-- /* GeSHi (c) Nigel McNie 2004 ( http://qbnz.com/highlighter) */.bash .de1, .bash .de2 {font-family: 'Courier New', Courier, monospace; font-weight: normal;color: #000020;}.bash {color: #000066; border: 1px solid #d0d0d0; background-color: #f0f0f0;}.bash a:link {color: #000060;}.bash a:hover {background-color: #f0f000;}.bash .head {font-family: Verdana, Arial, sans-serif; color: #808080; font-size: 70%; font-weight: bold; background-color: #f0f0ff; border-bottom: 1px solid #d0d0d0; padding: 2px;}.bash .foot {font-family: Verdana, Arial, sans-serif; color: #808080; font-size: 70%; font-weight: bold; background-color: #f0f0ff; border-top: 1px solid #d0d0d0; padding: 2px;}.bash .imp {font-weight: bold; color: red;}.bash li {font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;font: normal normal 95% 'Courier New', Courier, monospace; color: #003030;}.bash li.li2 {font-weight: bold;font-weight: bold; color: #006060;}.bash .kw1 {color: #b1b100;}.bash .kw3 {color: #000066;}.bash .es0 {color: #000099; font-weight: bold;}.bash .br0 {color: #66cc66;}.bash .st0 {color: #ff0000;}.bash .nu0 {color: #cc66cc;}.bash .re0 {color: #0000ff;}.bash .re1 {color: #0000ff;}.bash .re2 {color: #0000ff;}.bash .re3 {color: #808080; font-style: italic;}.bash .re4 {color: #0000ff;} html { background-color: #f0f0f0; } body { font-family: Verdana, Arial, sans-serif; margin: 10px; border: 2px solid #e0e0e0; background-color: #fcfcfc; padding: 5px; } h2 { margin: .1em 0 .2em .5em; border-bottom: 1px solid #b0b0b0; color: #b0b0b0; font-weight: normal; font-size: 150%; } h3 { margin: .1em 0 .2em .5em; color: #b0b0b0; font-weight: normal; font-size: 120%; } h4 { margin: .1em 0 .2em .5em; color: #b0b0b0; font-weight: normal; font-size: 100%; } #footer { text-align: center; font-size: 80%; color: #a9a9a9; } #footer a { color: #9999ff; } textarea { width:95%; border: 1px solid #b0b0b0; font-size: 90%; color: #333; margin-left: 20px; } select, input { margin-left: 20px; } p { font-size: 90%; margin-left: .5em; } --

Kayıt 12.03.2010 15:41 tarihinde eklendi. 1 kez okundu.
  1. #SHELL=/bin/bash
  2. #PATH=/sbin:/bin:/usr/sbin:/usr/bin:/u01/app/oracle/product/11.2.0/db_1/bin
  3. #MAILTO=root
  4. DOSYAR=`date +%d%m%H.dmp`
  5. DOSYAL=`date +%d%m%H.log`
  6. BACKUPDIR=/home/oracle/yedek/
  7. ftp_site=1.2.3.4
  8. user_name=username
  9. pass=1234567890
  10. filename=$BACKUPDIR$DOSYAR.tar.bz2
  11. su - oracle -c "expdp system/MANAGER@orcl directory=infotec dumpfile=$DOSYAR logfile=$DOSYAL schemas=hastane"
  12. su - oracle -c "cd $BACKUPDIR && tar -cvpjf $DOSYAR.tar.bz2 $DOSYAR --remove-files"
  13. ftp -in <<EOF
  14. open $ftp_site
  15. user $user_name $pass
  16. cd backup
  17. put $BACKUPDIR$DOSYAL $DOSYAL
  18. binary
  19. put $filename $DOSYAR.tar.bz2
  20. close
  21. bye
  22. EOF
Kayıt 0.015 saniyede renklendirildi.

 
Gönderildi : 12/03/2010 17:48

(@vmcode)
Gönderiler: 32
Eminent Member
 

Örnek bir uygulamam oracle yedeklerini alıp bir sunucu üzerine update ediyor.

 Uzantlarda .sh zorunluluğu yoktur (Ne olduğunu anlamak isterseniz sh önerilir.) sadece chmod ile +x vermiş olmanız gerekir. (execute)

<!--
/* GeSHi (c) Nigel McNie 2004 ( http://qbnz.com/highlighter) */
.bash .de1, .bash .de2 {font-family: 'Courier New', Courier, monospace; font-weight: normal;color: #000020;}
.bash {color: #000066; border: 1px solid #d0d0d0; background-color: #f0f0f0;}
.bash a:link {color: #000060;}
.bash a:hover {background-color: #f0f000;}
.bash .head {font-family: Verdana, Arial, sans-serif; color: #808080; font-size: 70%; font-weight: bold; background-color: #f0f0ff; border-bottom: 1px solid #d0d0d0; padding: 2px;}
.bash .foot {font-family: Verdana, Arial, sans-serif; color: #808080; font-size: 70%; font-weight: bold; background-color: #f0f0ff; border-top: 1px solid #d0d0d0; padding: 2px;}
.bash .imp {font-weight: bold; color: red;}
.bash li {font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;font: normal normal 95% 'Courier New', Courier, monospace; color: #003030;}
.bash li.li2 {font-weight: bold;font-weight: bold; color: #006060;}
.bash .kw1 {color: #b1b100;}
.bash .kw3 {color: #000066;}
.bash .es0 {color: #000099; font-weight: bold;}
.bash .br0 {color: #66cc66;}
.bash .st0 {color: #ff0000;}
.bash .nu0 {color: #cc66cc;}
.bash .re0 {color: #0000ff;}
.bash .re1 {color: #0000ff;}
.bash .re2 {color: #0000ff;}
.bash .re3 {color: #808080; font-style: italic;}
.bash .re4 {color: #0000ff;}
html {
background-color: #f0f0f0;
}
body {
font-family: Verdana, Arial, sans-serif;
margin: 10px;
border: 2px solid #e0e0e0;
background-color: #fcfcfc;
padding: 5px;
}
h2 {
margin: .1em 0 .2em .5em;
border-bottom: 1px solid #b0b0b0;
color: #b0b0b0;
font-weight: normal;
font-size: 150%;
}
h3 {
margin: .1em 0 .2em .5em;
color: #b0b0b0;
font-weight: normal;
font-size: 120%;
}
h4 {
margin: .1em 0 .2em .5em;
color: #b0b0b0;
font-weight: normal;
font-size: 100%;
}
#footer {
text-align: center;
font-size: 80%;
color: #a9a9a9;
}
#footer a {
color: #9999ff;
}
textarea {
width:95%;
border: 1px solid #b0b0b0;
font-size: 90%;
color: #333;
margin-left: 20px;
}
select, input {
margin-left: 20px;
}
p {
font-size: 90%;
margin-left: .5em;
}
--

Kayıt 12.03.2010 15:41 tarihinde eklendi. 1 kez okundu.
  1. #SHELL=/bin/bash
  2. #PATH=/sbin:/bin:/usr/sbin:/usr/bin:/u01/app/oracle/product/11.2.0/db_1/bin
  3. #MAILTO=root
  4. DOSYAR=`date +%d%m%H.dmp`
  5. DOSYAL=`date +%d%m%H.log`
  6. BACKUPDIR=/home/oracle/yedek/
  7. ftp_site=88.249.244.10
  8. user_name=oracle
  9. pass=1234567890
  10. filename=$BACKUPDIR$DOSYAR.tar.bz2
  11. su - oracle -c "expdp system/MANAGER@orcl directory=infotec dumpfile=$DOSYAR logfile=$DOSYAL schemas=hastane"
  12. su - oracle -c "cd $BACKUPDIR && tar -cvpjf $DOSYAR.tar.bz2 $DOSYAR --remove-files"
  13. ftp -in <<EOF
  14. open $ftp_site
  15. user $user_name $pass
  16. cd backup
  17. put $BACKUPDIR$DOSYAL $DOSYAL
  18. binary
  19. put $filename $DOSYAR.tar.bz2
  20. close
  21. bye
  22. EOF
Kayıt 0.015 saniyede renklendirildi.

 
Gönderildi : 12/03/2010 17:48

(@emreoner)
Gönderiler: 12
Active Member
 

Mücahid Bey'e ek olarak deneme.sh adında kaydettikten sonra,

 

chmod +x deneme.sh

 

komutuda verilmesi gerekebilir. 

 
Gönderildi : 15/03/2010 16:30

(@mucahidyardim)
Gönderiler: 192
Estimable Member
 

Mücahid Bey'e ek olarak deneme.sh adında kaydettikten sonra,

 

chmod +x deneme.sh

 

komutuda verilmesi gerekebilir. 

 

Selam Emre

yukarıdaki işlemleri uyguladığında +x (çalıştırma) yetkisinin verilmesi gerekmez, +x yetkisini vermeden de dosyayı çalıştırabilirsin. Sebebi ise,

# sh deneme.sh 

komutunu verdiğinde "deneme.sh" dosyasını sh komutuna parametre olarak verdiğinden dolayı, +x yetkisi olmasa bile çalıştırabilirsin.

Senin +x olması gerekir dediğin durum

#./deneme.sh

şeklinde dosyayı çalıştırmak isteyenler için geçerlidir 🙂

yinede bilgilendirme için teşekkürler, konuyu iyice açıklamış olduk

 
Gönderildi : 16/03/2010 14:44

(@ucuzahost)
Gönderiler: 1
New Member
 

merhaba benim bir okey sitem var bat dosyası verine .sh dosyası çalışıtıroyurum fakat söyle bir sorun var putty ile vps baglanıyorum ./start.sh diyorum baslıyor ama putty kapattıgımda gidiyor sh nin içinde java ve mysql baglatısı yapan bir kod var sürekli çalışır duruma nasıl getirirm

 
Gönderildi : 17/04/2010 04:16

(@ertanerbek)
Gönderiler: 4522
Famed Member
 

Merhabalar,


Konu biraz gaçmiş fakat "&" işareti çalıştırdığınız programı arkaya atar ve siz online olduğunuz sürece çalıştırmaya devam eder. Bu durumda siz online değil iseniz o zaman komut sonlanıdr bu durumda arkadaşların söylediği gibi root ile crontab içine atmalısınız.

 
Gönderildi : 16/05/2010 17:06

(@mucahidyardim)
Gönderiler: 192
Estimable Member
 

Merhabalar,

Ek olarak bende bişey ekleyeyim

# screen

komutunu incelerseniz size yardımcı olabilir.

İyi çalışmalar

 
Gönderildi : 18/05/2010 17:08

Paylaş: