Perşembe, Haziran 14, 2012
Perşembe, Mayıs 24, 2012
Cumartesi, Mart 17, 2012
VMware Esxi SSH CLI komutları
VMware Esxi SSH CLI komutları
vim-cmd vmsvc/getallvms
Lists all vm’s running on hypervisor and provides vmid
vim-cmd vmsvc/power.off vmid
Powers off vmid referenced from getallvms command
vim-cmd vmsvc/power.on vmid
Powers off vmid referenced from getallvms command
vim-cmd vmsvc/power.reboot vmid
Reboots vmid referenced from getallvms command
vim-cmd vmsvc/destroy vmid
Deletes the vmdk and vmx files from disk
vim-cmd hostsvc/maintenance_mode_enter
Puts hypervisor into maintenance mode
vim-cmd hostsvc/maintenance_mode_exit
Takes hypervisor out of maintenance mode
vim-cmd solo/registervm /vmfs/vol/datastore/dir/vm.vmx
Registers vm in hypervisor inventory
vim-cmd vmsvc/unregister vmid
Unregisters vm with hypervisor
vim-cmd vmsvc/tools.install vmid
Starts vmware tools installation for VM
vim-cmd hostsvc/net/info
Provides information about hypervisor networking
chkconfig -l
Shows daemons running on hypervisor. Can also be used for configuration.
esxtop
Same as linux top for vmware
vmkerrcode -l
List of vmkernel errors
esxcfg-info
Lists a LOT of information about the esx host
esxcfg-nics -l
Lists information about NIC’s. Can also be used for configuration.
esxcfg-vswitch -l
Lists information about virtual switching. Can also be used for configuration.
dcui
Provides console screen to ssh session
vsish
Vmware interactive shell
Çarşamba, Mart 14, 2012
CKeditor UTF8 problem
CKEDITOR.editorConfig = function( config )
{
config.htmlEncodeOutput = false;
config.entities = false;
};
yapın gitsin
Pazar, Şubat 26, 2012
PHP: Generate a random password
function generatePassword($length=9, $strength=0) {
srand((double)microtime()*1000000);
$chars = 'abcdefghijklmnopqrstuvwxyz0123456789';
if ($strength > 1) $chars .= 'ABDGHJLMNPQRSTVWXZ';
if ($strength > 2) $chars .= "!@#$%";
if ($strength > 3) $chars .= '^&*(-_=+)';
$i = 0;$key = '';
while ($i <= $length) {$key .= $chars[rand(0, strlen($chars))];$i++;}
return $key;
}
echo generatePassword(9);
echo generatePassword(9,1);
echo generatePassword(9,2);
echo generatePassword(9,3);
echo generatePassword(9,4);
echo generatePassword(50,4);
v6qu8my20e
66qv24hero
QswQeNGX1W
@VdQ$7V1kX
l5(11JLmGV
ww$ec6vbc$oh&cr#_w+g&2chQHn1%9TQGXj*ZmT)tHaBH$7(@
Çarşamba, Şubat 15, 2012
git local repoyu bare yapmak
Önce yedeğinizi alın
$ cd repo
$ git config --bool core.bare true
$ mv .git ../repo.git
$ rm -Rf repo
Pazar, Şubat 05, 2012
live cd den grub kurtarmak
sudo mkdir /mnt/root
sudo mount -t ext3 /dev/sda6 /mnt/root sudo
mount -t proc none /mnt/root/proc
sudo mount -o bind /dev /mnt/root/dev
sudo chroot /mnt/root /bin/bash
grub-install /dev/xxx
sudo mount -t ext3 /dev/sda6 /mnt/root sudo
mount -t proc none /mnt/root/proc
sudo mount -o bind /dev /mnt/root/dev
sudo chroot /mnt/root /bin/bash
grub-install /dev/xxx
Pazartesi, Ocak 30, 2012
Linux komut satırını kullanarak toplu resim boyutlandırma
# apt-get install imagemagick
$ for i in $( ls *.jpg); do convert -resize 50% $i re_$i; done
$ for i in $( ls *.jpg); do convert -resize 50% $i re_$i; done
Salı, Aralık 20, 2011
Exim giden e-posta gönderme IP sini değiştirme
Dosyaları Oluşturma ve Düzenleme
öncelikle hangi domainin hangi ip adresinden mail göndereceğini belirtmek için aşağıdaki dosyalar lazım
/etc/mailhelo
EXIM bir e-posta sunucu ve istemci arasında diyalog başlatmak için HELO komutunu kullanır. Bu dosya hangi HELO komutunu göndermesi gerektiğini yönetir. Budosyayı oluşturmak için, nano, vi veya vim gibi bir metin düzenleyicisi kullanmanız gerekecektir. Dosyayı aşağıdaki şekildeyapılandırmanız gerekir:
daha sonra exim.conf dan aşağıdaki ayarları yapmak gerekiyor
remote_smtp:
öncelikle hangi domainin hangi ip adresinden mail göndereceğini belirtmek için aşağıdaki dosyalar lazım
- /etc/mailhelo — Exim'in HELO komutunu yapılandırma dosyası.
- /etc/mailips — hangi IP adreslerinden posta gönderilmesi gerektiğini belirten dosya.
/etc/mailhelo
EXIM bir e-posta sunucu ve istemci arasında diyalog başlatmak için HELO komutunu kullanır. Bu dosya hangi HELO komutunu göndermesi gerektiğini yönetir. Budosyayı oluşturmak için, nano, vi veya vim gibi bir metin düzenleyicisi kullanmanız gerekecektir. Dosyayı aşağıdaki şekildeyapılandırmanız gerekir:
example.com: example.com
sub.example.com: example.com
example.net: example.net
addon.example.net: example.net
*: hostname.example.com
/etc/mailips
example.com: 192.168.0.2
sub.example.com: 192.168.0.2
example.net: 192.168.0.3
addon.example.net: 192.168.0.3
*: 192.168.0.1
daha sonra exim.conf dan aşağıdaki ayarları yapmak gerekiyor
remote_smtp:
driver = smtp
interface = ${if exists {/etc/mailips}{${lookup{$sender_address_domain}lsearch*{/etc/mailips}{$value}{}}}{}}
helo_data = ${if exists {/etc/mailhelo}{${lookup{$sender_address_domain}lsearch*{/etc/mailhelo}{$value}{$primary_hostname}}}{$primary_hostname}}
Exim komutları
exim -M id #Mesajı id idsi ile göndermeye çalış
exim -qf #Eximin tüm kuyruğu tekrar işleme almasını sağla
exim -qff #qf ile aynı fakat bu frozen mesajları da tekrar işleme alacaktır
exim -Mvl id #mesaj id için mesaj kaydını görüntüle
exim -Mvh id #mesaj id nin headerlarını görüntüle
exim -Mvb id #mesaj id nin içeriğini görüntüle
exim -Mrm id #kuyruktan mesaj id yi kaldır
exim -Mg id #başarısız ve gönderene bounce gönder
exim -bp | exiqsumm #Kuyruktaki mesajların özetini yazdır
exiwhat #şuanda exim'in ne yaptığını göster
exim -bpc #kuyrukta mesaj sayısını göster
exim -bp #kuyruktaki mesajların listesini yazdır
Tüm kuyruğu manuel olarak silmek için
cd /var/spool
mv exim exim.old
mkdir -p exim/input
mkdir -p exim/msglog
mkdir -p exim/db
chown -R mail:mail exim
Daha sonra Exim'i yeniden başlatın.
exim -qf #Eximin tüm kuyruğu tekrar işleme almasını sağla
exim -qff #qf ile aynı fakat bu frozen mesajları da tekrar işleme alacaktır
exim -Mvl id #mesaj id için mesaj kaydını görüntüle
exim -Mvh id #mesaj id nin headerlarını görüntüle
exim -Mvb id #mesaj id nin içeriğini görüntüle
exim -Mrm id #kuyruktan mesaj id yi kaldır
exim -Mg id #başarısız ve gönderene bounce gönder
exim -bp | exiqsumm #Kuyruktaki mesajların özetini yazdır
exiwhat #şuanda exim'in ne yaptığını göster
exim -bpc #kuyrukta mesaj sayısını göster
exim -bp #kuyruktaki mesajların listesini yazdır
Tüm kuyruğu manuel olarak silmek için
cd /var/spool
mv exim exim.old
mkdir -p exim/input
mkdir -p exim/msglog
mkdir -p exim/db
chown -R mail:mail exim
Daha sonra Exim'i yeniden başlatın.
Pazartesi, Ekim 31, 2011
Linux Terminali Kapatınca Program Kapanmasın
Root olarak terminalde bir dosya, dizin, program vs… açtığınızda, terminali kapatınca veya ctrl+c ile sonlandırıldığında kapanır.
Programı terminalden bağımsız kullanmaya devam edebilmek için nohup ı kullanmamız gerekiyor.
nohup ile terminal de oturum kapatsak bile, arkaplanda uygulama çalışmaya devam eder.
Programı terminalden bağımsız kullanmaya devam edebilmek için nohup ı kullanmamız gerekiyor.
nohup ile terminal de oturum kapatsak bile, arkaplanda uygulama çalışmaya devam eder.
ÖRNEK:
root@toor:~# nohup gedit /var/www/index.html &
Pazartesi, Ağustos 15, 2011
mysqldumb script
her veritabanını ayrı ayrı alıp sıkıştırarak klasöre atar
#!/bin/bash # Shell script to backup MySql database # To backup Nysql databases file to /backup dir and later pick up by your # script. You can skip few databases from backup too. # For more info please see (Installation info): # http://www.cyberciti.biz/nixcraft/vivek/blogger/2005/01/mysql-backup-script.html # Last updated: Aug - 2005 # -------------------------------------------------------------------- # This is a free shell script under GNU GPL version 2.0 or above # Copyright (C) 2004, 2005 nixCraft project # Feedback/comment/suggestions : http://cyberciti.biz/fb/ # ------------------------------------------------------------------------- # This script is part of nixCraft shell script collection (NSSC) # Visit http://bash.cyberciti.biz/ for more information. # ------------------------------------------------------------------------- MyUSER="SET-MYSQL-USER-NAME" # USERNAME MyPASS="SET-PASSWORD" # PASSWORD MyHOST="localhost" # Hostname # Linux bin paths, change this if it can not be autodetected via which command MYSQL="$(which mysql)" MYSQLDUMP="$(which mysqldump)" CHOWN="$(which chown)" CHMOD="$(which chmod)" GZIP="$(which gzip)" # Backup Dest directory, change this if you have someother location DEST="/backup" # Main directory where backup will be stored MBD="$DEST/mysql" # Get hostname HOST="$(hostname)" # Get data in dd-mm-yyyy format NOW="$(date +"%d-%m-%Y")" # File to store current backup file FILE="" # Store list of databases DBS="" # DO NOT BACKUP these databases IGGY="test" [ ! -d $MBD ] && mkdir -p $MBD || : # Only root can access it! $CHOWN 0.0 -R $DEST $CHMOD 0600 $DEST # Get all database list first DBS="$($MYSQL -u $MyUSER -h $MyHOST -p$MyPASS -Bse 'show databases')" for db in $DBS do skipdb=-1 if [ "$IGGY" != "" ]; then for i in $IGGY do [ "$db" == "$i" ] && skipdb=1 || : done fi if [ "$skipdb" == "-1" ] ; then FILE="$MBD/$db.$HOST.$NOW.gz" # do all inone job in pipe, # connect to mysql using mysqldump for select mysql database # and pipe it out to gz file in backup dir :) $MYSQLDUMP -u $MyUSER -h $MyHOST -p$MyPASS $db | $GZIP -9 > $FILE fi done
Cuma, Haziran 10, 2011
cPanel den DirectAdmin e mail taşıma
öncelikle ssh bağlantınızın olması gerek
cpanel yedeğimizi alalım
mail dizinine girelim
geriye mailleri tek tek taşımak kalıyor
cp -R /home/newuser/backup/mail/mydomain.com/mymail1/* ./mymail1/Maildir/
cp -R /home/newuser/backup/mail/mydomain.com/mymail2/* ./mymail2/Maildir/
cp -R /home/newuser/backup/mail/mydomain.com/mymail3/* ./mymail3/Maildir/
cpanel yedeğimizi alalım
tar zcvf olduser.tar.gz /home/olduseraldığımız yedeği hedef sisteme açalım
cd /home/newuser/backup/
tar zxvf olduser.tar.gz
mail dizinine girelim
cd /home/newuser/imap/mydomain.com
geriye mailleri tek tek taşımak kalıyor
cp -R /home/newuser/backup/mail/mydomain.com/mymail1/* ./mymail1/Maildir/
cp -R /home/newuser/backup/mail/mydomain.com/mymail2/* ./mymail2/Maildir/
cp -R /home/newuser/backup/mail/mydomain.com/mymail3/* ./mymail3/Maildir/
Çarşamba, Haziran 01, 2011
wsimport örnek kullanım
wsimport -d target/classes -s src/main/java -p org.xh.studies.jaxws.webapp.client http://localhost:8080/JAXWSWebApp/MathService?wsdl
-d buil edilen classların oluşturulacağı klasör
-s source file classların oluşturulacağı klasör
Salı, Mayıs 31, 2011
Apache CXF "Stream is closed" Exception
CXF de bir bug dan kaynaklanıyormuş.
http://repository.apache.org/snapshots/org/apache/cxf/apache-cxf/2.4.1-SNAPSHOT/
sorunu çözüyor.
http://repository.apache.org/snapshots/org/apache/cxf/apache-cxf/2.4.1-SNAPSHOT/
sorunu çözüyor.
Pazartesi, Mayıs 30, 2011
müzikler youtube den
gerekli komutlar
videoyu download et
youtube-dlmesela videomuz bu http://www.youtube.com/watch?v=eWPrkQws0II
ffmpeg
lame
videoyu download et
youtube-dl http://www.youtube.com/watch?v=eWPrkQws0IIwav a çevir
ffmpeg -i eWPrkQws0II.mp4 eWPrkQws0II.wawtekrar mp3 yap
lame eWPrkQws0II.wav eWPrkQws0II.mp3tepe tepe kullan
Cuma, Mayıs 20, 2011
gitosis kurulumu
gitosis kurulumu
git için global ayarları yapalım
eğer kurulu değilse python-setuptools u kurun
depoları yönetmek için git kullanıcısını oluşturalım
gitosis için rsa.pub dosyası oluşturalım
home klasörünüze .ssh/id_rsa.pub dosyası oluşmuş olmalı bu dosyayı /tmp altına kopyalayın
daha sonra
izinleri tekrardan düzenliyoruz
gitosis hazır
şimdide gitosis yönetimi için
gitosis.conf içeriğiniz
kendi takımımız için aşağıdaki satırı ekleyelim
yetkileri bu şekilde ayarlayabilirsiniz yeni kullanıcı eklediğinizde
keydir klasörüne eklediğiniz kullanıcının home dizinindeki id_rsa.pub dosyasını da atın
değişiklikleri aktif edelim
proje dosyalarımızı oluşturalım
proje dosyalarınızı ekleyin
değişiklikleri remote gönderelim
işlem tamam
git için global ayarları yapalım
$ git config --global user.name "Hasan Basri Ateş"
$ git config --global user.email "your_email@youremail.com"
cd ~/
git clone git://eagain.net/gitosis.git
cd gitosis
eğer kurulu değilse python-setuptools u kurun
sudo apt-get install python-setuptools
sudo python setup.py install
depoları yönetmek için git kullanıcısını oluşturalım
sudo adduser \
--system \
--shell /bin/sh \
--gecos 'git version control' \
--group \
--disabled-password \
--home /home/git \
git
gitosis için rsa.pub dosyası oluşturalım
ssh-keygen -t rsa
home klasörünüze .ssh/id_rsa.pub dosyası oluşmuş olmalı bu dosyayı /tmp altına kopyalayın
cp ~/.ssh/id_rsa.pub /tmp/id_rsa.pub
daha sonra
sudo -H -u git gitosis-init < /tmp/id_rsa.pub
izinleri tekrardan düzenliyoruz
sudo chmod 755 /home/git/repositories/gitosis-admin.git/hooks/post-update
gitosis hazır
şimdide gitosis yönetimi için
git clone git@YOUR_SERVER_HOSTNAME:gitosis-admin.git
cd gitosis-admin
gitosis.conf içeriğiniz
[gitosis]
[group gitosis-admin]
writable = gitosis-admin
members = kullanıcıadınız
kendi takımımız için aşağıdaki satırı ekleyelim
[group myteam]
members = kullanıcıadınız
writable = denemeproje
yetkileri bu şekilde ayarlayabilirsiniz yeni kullanıcı eklediğinizde
keydir klasörüne eklediğiniz kullanıcının home dizinindeki id_rsa.pub dosyasını da atın
değişiklikleri aktif edelim
git commit -a -m "denemeproje projesinde kullanıcıadınız a yazma izni verildi"
git push
proje dosyalarımızı oluşturalım
mkdir denemeproje
cd denemeproje
git init
git remote add origin git@YOUR_SERVER_HOSTNAME:denemeproje.git
proje dosyalarınızı ekleyin
git add .
git commit -a -m "proje eklendi"
değişiklikleri remote gönderelim
git push origin master:refs/heads/master
işlem tamam
Salı, Mayıs 03, 2011
Pazar, Mayıs 01, 2011
php ile gettext olmadan çoklu dil özelliği
po dosyalarını kullanarak ve cach destekli çoklu dil sistemi
po dosyalarını pars etmek için php poparser kütüphanesini kullanacağız.
// Örnek kullanım
po dosyalarını pars etmek için php poparser kütüphanesini kullanacağız.
include_once 'POParser.php';
$GLOBALS['LANGUAGE_CODE'] = 'tr';
$GLOBALS['LOCALE_PATH'] = 'locale';
$GLOBALS['CACH_PATH'] = 'cach';
function encode_lang_key($str) {
return base64_encode(pack('H*',sha1($str)));
}
if(is_file(dirname(__FILE__).'/cache/lang_'.$GLOBALS['LANGUAGE_CODE'].'.cache')){
$content = file_get_contents(dirname(__FILE__).'/cache/lang_'.$GLOBALS['LANGUAGE_CODE'].'.cache');
$GLOBALS['LANG'] = unserialize($content);
}else {
$langFile = sprintf('%s/%s/LC_MESSAGES/messages.po',$GLOBALS['LOCALE_PATH'],$GLOBALS['LANGUAGE_CODE']);
$pp = new POParser();
$GLOBALS['LANG'] = array();
$res = $pp->parse($langFile);
foreach ($res[1] as $entry) {
if (isset($entry['msgid'])){
$GLOBALS['LANG'][encode_lang_key($entry['msgid'])] = $entry;
}
} file_put_contents(APPLICATION_PATH.'/cache/lang_'.$GLOBALS['LANGUAGE_CODE'].'.cache', serialize($GLOBALS['LANG']));
}
function my_gettext($message) {
$lang_key = encode_lang_key($message);
$retVal = $message;
if (isset($GLOBALS['LANG'][$lang_key])){
$retVal = $GLOBALS['LANG'][$lang_key]['msgstr'];
}
return $retVal;
}
// Örnek kullanım
echo my_gettext("Merhaba Dünya");
Etiketler:
gettext,
i18n,
internationalization,
localization,
mo,
php,
po,
translate
Kaydol:
Kayıtlar (Atom)