Auteur de la discussion
#1
grep ile yapılandırma yedeği alma
- Giriş ve amacı
Giriş olarak, sistem konfigürasyon dosyalarının eksiksiz bir yedeğini almak çoğu zaman güvenlik ve servis sürekliliği için kritik. Özellikle /etc altındaki dosyalar, hizmetlerin çalışma arkı planları ve kullanıcıya özel ayarları içerir. Bu süreci tek bir merkezi kaynak olarak ele almak, yanlışlıkla kayıp veya hatalı değişikliklere karşı koruma sağlar. grep, bu yığının parçalarını hızlıca izole etmek ve değiştirmeden önce hangi dosyalarda hangi ayarların bulunduğunu görmek için kullanılabilir.
- Hedef dosya setini belirleme
Bir yedekleme için önce hangi uzantıların veya hangi dizinlerin dahil edileceğini netleştirmek gerekir. Örneğin:
- /etc içindeki tüm konfig dosyaları: .conf, .ini, .yaml, .json
- Service tanımları ve ağ yapılandırmaları: /etc/ssh/sshd_config, /etc/nginx, /etc/systemd/system
- Uygulama tarafı konfigları: /opt/uygulama/config/*.yml
- grep ile değişiklikleri filtreleme ve çıktı almak
grep, yani arama ve filtreleme komutu, dosya içinde belirli anahtar kelimeleri bulmak, değişiklikleri tespit etmek veya belli bir biçimde çıktı almak için kullanılır. Örnekler:
- Belirli anahtar kelimeleri içeren satırları çıkarmak:
CODE1
grep -Rin --include="*.conf" "server_name" /etc 2>/dev/null > /root/config_grep.log
- Değişiklik tarihlerini saptamak için dosya listesini üretmek:
CODE1
grep -Rin --no-filename --color=never "listen" /etc/netplan /etc/NetworkManager 2>/dev/null > /root/net_config_sniffs.txt
- YAML/JSON konfiglarında belirli anahtarları toplamak
CODE12
grep -Rin --include="[i].y[/i]ml" "timeout" /etc 2>/dev/null > /root/yaml_timeout_keys.txt grep -Rin --include="*.json" "\"timeout\"" /etc 2>/dev/null > /root/json_timeout_keys.txt
- Yedeği güvenli hale getirme
grep ile elde edilen çıktı sadece değişiklikleri ya da konfig farklarını hızlıca çıkarır; tam bir yedek değildir. Bu yüzden şu adımlar önerilir:
- Aslında yedeği almak: rsync, tar veya cp ile /etc’nin bir anlık kopyası.
- Yetkileri ve sahipliği korumak: rsync -avz --delete
- Sürüm kontrolü: konfig dosyalarını git gibi bir sürüm kontrolüne eklemek veya zaman damgası ile sıkıştırılmış arşivler oluşturmak.
- Güvenlik ve uyumluluk
grep ile sızdırılmayan bilgiler için filtreleme yaparken dikkat edin. Özellikle şifreli veya hassas anahtarları içeren satırları üretmeden önce maskeleme veya filtre uygulamak gerekir.
Özet
grep ile yapılandırma yedeğinin tamamını almak mümkün değildir; yalnızca hangi dosyaların hangi anahtarları içerdiğini hızlıca tespit etmek ve değişiklikleri izlemek için kullanılabilir. Tam yedek ve güvenli saklama için dosya düzeyinde kopyalama ve sürüm kontrol entegrasyonu ile birleştirmek en doğru yoldur.
