Kategori arşivi: OS

Linux- Unix-Windows isletim sistemi hakkında…(solaris, oracle linux,redhat,windows)

Active Directory User listesini Powershell ile listelemek

Powershelli kullanarak Activedirectory de bulunan tüm userları UTF8  setinde excel dosyaya export eder.

-- Tüm AD user listesini powershell ile almak için
Get-AdUser -filter "samaccountname -like '*'" -Properties * | select displayname, samaccountname |Export-Csv -Path "C:\Info\Kullanicilar.csv" -NoTypeInformation -encoding UTF8

-- Arama yapıp user listesini powershell ile almak için
Get-AdUser -filter "samaccountname -like 'UserKodu*'" -Properties * | select displayname, samaccountname |Export-Csv -Path "C:\Info\Kullanicilar.csv" -NoTypeInformation -encoding UTF8

Linux Üzerinde Ssh-Keygen Yapılandırması

Linux Üzerinde Ssh-Keygen Yapılandırması

Ssh-Keygen yapısında private key ve onu tamamlayan public key olmak üzere iki anahtar bulunur.Kullanıcı private keyini source sunucuda, public keyini target sunucuda bulundurursa bu iki anahtarın eşleşmesi ile şifreler kullanılmadan target sunucuya giriş yapabilir.

Örneğimizde; Oracle Ent. linux 6.5 kurulu iki sunucu arasında password gerektirmeden ssh bağlantısı yapmaya çalışacağız. Yedek kopyalama vb schedule işlemlerde lazım olabiliyor. Oracle RAC kurulumunda bu işlem zaten yapılıyor, nodelar birbirine trusted bir şekilde bağlanabiliyor, ama şu anki durumumuzda iki ilişkisiz server üzerinde yapacağız.

Os: Oracle Ent. Linux 6.5
Server 1: omerlinux
Server 2: omerlinuxcopy
user: oracle( her iki sunucuda)

Adımlar:

1- Home dizini altında .ssh folderı oluşturulur, yetkileri verilir.(Her iki sunucuda oracle userı ile)

[oracle@omerlinux ~]$ pwd
/home/oracle
[oracle@omerlinux ~]$ mkdir .ssh
[oracle@omerlinux ~]$ chmod 700 .ssh

2- id_rsa.pub dosyası oluşturulur.(gelen sorulara enter yapılır geçilir,her iki sunucuda oracle userı ile)

[oracle@omerlinux ~]$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/oracle/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/oracle/.ssh/id_rsa.
Your public key has been saved in /home/oracle/.ssh/id_rsa.pub.
The key fingerprint is:
8f:63:61:23:39:c4:a2:bc:f6:6e:ee:7a:a0:84:3c:2c oracle@omerlinux.localdomain
The key's randomart image is:
+--[ RSA 2048]----+
|                 |
|     .           |
|    . o          |
| . . o .         |
|+ o   + S        |
|E=..   + =       |
|o.+.    + .      |
|.. .o  . .       |
|  .B=            |
+-----------------+

3- id_rsa.pub dosyasından authorized_keys dosyası oluşturulur.(Her iki sunucuda oracle userı ile)

[oracle@omerlinux ~]$ cd /home/oracle/.ssh/
[oracle@omerlinux .ssh]$ cat id_rsa.pub >> authorized_keys
[oracle@omerlinux .ssh]$ ls
authorized_keys  id_rsa  id_rsa.pub

4- Sunucularda oluşturulan authorized_keys dosyası öteki sunucuya yeni isim ile kopyalanır.(Her iki sunucuda oracle userı ile)

Kopyalama işleminde oracle user şifresi girilir, bu makaledeki adımlar bittikten sonra şifre girmemize gerek kalmayacak. omerlinux makinesindeki authorized_keys dosyası omerlinuxcopy makinesine authorized_keys_1 adıyla kopyalanır. omerlinuxcopy makinesindeki authorized_keys dosyası omerlinux makinesine authorized_keys_2 adıyla kopyalanır.

[oracle@omerlinux .ssh]$ scp authorized_keys omerlinuxcopy:/home/oracle/.ssh/authorized_keys_1
The authenticity of host 'omerlinuxcopy (192.168.1.250)' can't be established.
RSA key fingerprint is 99:99:e0:7c:c7:c2:d6:2c:46:46:7e:9d:bf:82:94:72.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'omerlinuxcopy,192.168.1.250' (RSA) to the list of known hosts.
oracle@omerlinuxcopy's password: 
authorized_keys                                                             100%  410     0.4KB/s   00:00  

5- Öteki sunucudan gelen authorized_keys_1 içindeki text lokal sunucunun authorized_keys dosyasına yazılır.İki sunucuda da bu işlem yapılmalıdır. 1. Sunucunun authorized_keys içeriği 2. sunucunun authorized_keys dosyasına kopyalanmalı ve tersi de yapılmalıdır. Sonunda her iki sunucuda da aşağıdaki gibi bir authorized_keys dosyası oluşmalıdır.

[oracle@omerlinux .ssh]$ cat authorized_keys
ssh-rsa 
AAAAB3NzaC1yc2EAAAABIwAAAQEA4eA8swmNSFEApCmSyhhe15QPFY+NTAwMuqXePu8zfcpFNSG95HPGzKn9V2K4gwRPgy57X3F1hivzRJ1Gd0seTDL
liyUpdA/QgPE+M1jwlG0T4w1PbELsqQhn16+S4DqP94WpG3jrkw7S7vytehA1zQ/b36M7M378Eez/DJFx3WPLHEieBEDNx0ExuFiltYqf2OR3/qSWui
OBNqBPsFvzrVVeJVzCFvitzMNW/U0PU4Sdj7vLo5k2YNdAEFuqLD6P7DroCPXFLT0WzqMvlc29I3JSZOg55GODptQceZ88XpY8UqrPbI0Gvm2OqAbOZ
CEktfJwMbFWjPbBK0WiN6BdQQ== oracle@omerlinux.localdomain
ssh-rsa 
AAAAB3NzaC1yc2EAAAABIwAAAQEAts1bAjVXyQD+7Y6ipO7bQaFpCFK6u3S4yZbC047b3cX7plr+m4lMhfFQOvkr9xqTB8SPTf5GlVWwhOGqjikDUq+
QZOGCUD06zJPIMKZ3fPAmJBucFfuibOC0F2oc7indZAEarVW0W5cZ6VZkBmLYsI3WStQAWMAZHKOLlJccsCIqeZe+fr2eAMeVw9b6DT6XKOiD3/A477
DT5d2g6V594pGTS2Il5D7fvpXtKJIv91C8ytfpaFRaWtcGe9x+Mg8zzze2UeOnUgWTu1PWDMqV+4e45tE5lUnOIM/cd6sqj9mIsj/gYg8rKwZP2kKjV
AagNnNCd5WB06tnscImGQP8hw== oracle@omerlinuxcopy.localdomain

6- Sunucularda network servisi restart edilir.(Her iki sunucuda root userı ile)

[oracle@omerlinux .ssh]$ 
[oracle@omerlinux .ssh]$ su - root
Password: 
[root@omerlinux ~]# service sshd restart
Stopping sshd:                                             [  OK  ]
Starting sshd:                                             [  OK  ]

7- Sonuç test edilir. 1. sunucudan 2. sunucuya dosya kopyalanır, 2. sunucudan 1. sunucuya dosya kopyalanır, şifre girmenize gerek kalmadan yapabilmemiz gerekiyor.

[root@omerlinux ~]# su - oracle
[oracle@omerlinux ~]$ pwd
/home/oracle
[oracle@omerlinux ~]$ touch copy1_test.txt
[oracle@omerlinux ~]$ ls
copy1_test.txt  Desktop  Documents  Downloads  Music  Pictures  Public  Templates  Videos
[oracle@omerlinux ~]$ scp copy1_test.txt omerlinuxcopy:/home/oracle/
copy1_test.txt                                                              100%    0     0.0KB/s   00:00    
[oracle@omerlinux ~]$

Görüldüğü gibi şifresiz trusted bağlantı sağlanmış oldu. Biz makalemizde iki sunucu içinde ssh-keygen ayarlarını yaptık istenirse tek taraflı da yapılabilir, source sunucuda oluşturulan authorized_keys dosyasının içeriği target sunucunun authorized_keys dosyası içine yazılırsa işlem tamamdır, örnekte iki sunucu içinde bu işlemi yaptık.

Umarım faydalı olur.

Ekran görüntüleri aşağıdaki gibidir.

 

Bash Script ile database ayakta mı kontrolu yapmak

Bash Script ile database ayakta mı kontrolü yapmak

Bash script ile oracle database’imiz ayakta mı kontrolü yapalım, her 10 dakikada bir database’e bağlanıp instance durumunu kontrol edip bize bilgi maili göndersin.Her 10 dakikada bir çalışması için unix sistemlerde crontabı kullanacağız.Aslında alert mekanizması için Enterprise Manager ya da Grid Control üzerinden metricler set etmek daha yerinde bir çözüm olacaktır.Ama bunu yapamıyorsanız bu basit script de işinize yarayabilir.

Bir dizine database_status.sh adında bi dosya olusturalım.
Aşağıdakileri kendi sisteminize göre düzenleyerek kaydedin.

Ortamlar:
Solaris 10
Oracle 11.2.0.4

database_status.sh içeriği.

#!/bin/ksh
export ORACLE_HOME=/oracle/app/product/11.2.0.4/db
export PATH=$PATH:$ORACLE_HOME/bin
export MAIL="omer@omeracar.com.tr"
export CMAIL="omer@omeracar.com.tr"
export TM1=`date '+%T'`

if sqlplus user/password@mxdev < /dev/null | grep 'Connected to'; then
   echo "Basarili..$TM1"
   # echo "Mxdev baglantisi Basarili.." | mailx -c $CMAIL -s "Mxdev Calisiyor.. $TM1" $MAIL
else
   echo "Basarisiz.."
   echo "Mxdev baglantisi basarisiz oldu, kontrol ediniz.." | mailx -c $CMAIL -s "Mxdev Calismiyor $TM1" $MAIL
fi

Scriptimizi kaydedip çıktık, şimdi scriptimize execute yetkisi verelim.

-bash-3.2$ chmod u+x /export/home/oracle/orascripts/database_status.sh

Şimdide her 10 dakikada bir çalışması için scriptimizi crontaba ekleyelim.
00,10,20,30,40,50 her saat bu dakikalarda çalışması içi yazdığımız bir syntax.
(*/10 syntaxı linuxda gecerlidir.Solaris de yanyana dakikaları yazmak lazım.)

-bash-3.2$ crontab -e
00,10,20,30,40,50 * * * * /export/home/oracle/orascripts/database_status.sh

Ve işlem tamamdır, scriptimiz her 10 dakikada bir çalışacak ve database'imiz ayakta değilse
bilgi maili atacak.

Umarım faydalı olur..

Windowstan Solarise Backup Kopyalamak

Windowstan Solarise Backup Kopyalamak

Burdaki senaryoda windows hostumuzda kurulu oracle dump dosyasını solaris üzerine gönderip ilkel de olsa bir DR çözümü üreteceğiz.

Bunun için iki tool lazım..

1- pscp.exe file copy için gerekli

2-  7-Zip programı (şart değil ama gönderim süresini azaltmak için sıkıştırılması iyi olur-4GB üstünü de zipleyebiliyor)

 

1- pscp.exe putty sitesinden indirilir..

2- pscp.exe  F:\Backup\Scripts  altına kopyalanır.

3- Mevcut sıkıştırılmış dosya  silinir.

del F:\Backup\Export\FullExport.zip

4- dmp dosyası 7-Zip ile ziplenir, orjinali saklanır..

“C:\Program Files (x86)\7-Zip\7z” a F:\Backup\Export\FullExport.zip F:\Backup\Export\FullExport.dmp

5- Zip dosyası solaris hostumuza kopyalamaya hazır, kopyalamaya başlayabiliriz..

pscp -pw solarisoraclesifresi F:\Backup\Export\FullExport.zip oracle@hostname:/export/home/oracle/oradump/

 

Sıkıştırılan dmp dosyası solaris üzerinde ilgili dizine gidilerek unzip ile açılabilir..

cd /export/home/oracle/oradump/

unzip FullExport.zip

Komutun tamamını bat dosyası olarak yazmak istersek aşağıdaki gibi olacaktır.Bu sayede günlük schedule ile otomatiğe bağlayabiliriz.

BackupCopyToDrc.bat

del F:\Backup\Export\FullExport.zip
“C:\Program Files (x86)\7-Zip\7z” a F:\Backup\Export\FullExport.zip F:\Backup\Export\FullExport.dmp
F:
cd F:\Backup\Scripts
pscp -pw solarisoraclesifresi F:\Backup\Export\FullExport.zip oracle@hostname:/export/home/oracle/oradump/