Linux de bat dosyas...
 
Bildirimler
Hepsini Temizle

Linux de bat dosyası  

  RSS
mkiraz
(@mkiraz)
Üye

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?

Alıntı
Gönderildi : 14/04/2009 00:31
Ali Kemal TÜRKER
(@alikemalturker)
Üye

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.

CevapAlıntı
Gönderildi : 14/04/2009 15:56
cetintek
(@cetintek)
Üye

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?

CevapAlıntı
Gönderildi : 15/04/2009 01:03
Ali Kemal TÜRKER
(@alikemalturker)
Üye

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

CevapAlıntı
Gönderildi : 15/04/2009 14:42
ridvan
(@ridvan)
Üye

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? 


 

CevapAlıntı
Gönderildi : 04/03/2010 11:46
Sinan TEMUR
(@SinanTEMUR)
Üye

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.



CevapAlıntı
Gönderildi : 08/03/2010 13:01
Mücahid YARDIM
(@mucahidyardim)
Üye

Öğ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.

CevapAlıntı
Gönderildi : 08/03/2010 18:56
vmcode
(@vmcode)
Üye

Ö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.

CevapAlıntı
Gönderildi : 12/03/2010 16:48
vmcode
(@vmcode)
Üye

Ö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.

CevapAlıntı
Gönderildi : 12/03/2010 16:48
emreoner
(@emreoner)
Üye

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

 

chmod +x deneme.sh

 

komutuda verilmesi gerekebilir. 

CevapAlıntı
Gönderildi : 15/03/2010 15:30
Mücahid YARDIM
(@mucahidyardim)
Üye

[quote user="emreoner"]

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

 

chmod +x deneme.sh

 

komutuda verilmesi gerekebilir. 

[/quote]

 

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

CevapAlıntı
Gönderildi : 16/03/2010 13:44
ucuzahost
(@ucuzahost)
Üye

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

CevapAlıntı
Gönderildi : 17/04/2010 04:16
Ertan ERBEK
(@ertanerbek)
Tecrübeli Üye

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.

CevapAlıntı
Gönderildi : 16/05/2010 17:06
Mücahid YARDIM
(@mucahidyardim)
Üye

Merhabalar,

Ek olarak bende bişey ekleyeyim

# screen

komutunu incelerseniz size yardımcı olabilir.

İyi çalışmalar

CevapAlıntı
Gönderildi : 18/05/2010 17:08
Paylaş: