Nodejs ile veri yedekleme işlemleri için en iyi kütüphaneleri tanıtan bu makalede, fs-extra, Adm-zip ve archiver kütüphaneleri incelenmiştir fs-extra, dosya ve dizin işlemleri için kullanışlı fonksiyonlara sahiptir ve yedekleme işlemleri için oldukça önerilir Adm-zip dosya sıkıştırma ve açma işlemleri için esnek ve işlevsel bir çözüm sunar Archiver kütüphanesi ise dosyaların sıkıştırılması ve açılması için birden fazla seçenek sunar Bu kütüphaneleri kullanarak, Nodejs ile veri yedekleme işlemlerini kolaylıkla gerçekleştirebilirsiniz

Veri yedekleme işlemleri, birçok program ve uygulama için önemli bir adımdır. Verilerin kaybolması, bozulması veya başka bir nedenle kaybedilmesi, birçok sorun yaratabilir ve bu nedenle yedekleme işlemi önemlidir. Bu makale, Node.js kullanarak veri yedekleme işlemleri için en iyi kütüphaneleri tanıtacak.
Node.js, veri yedekleme işlemleri için çeşitli kütüphaneler sunar. Bu kütüphaneler, farklı işlemleri gerçekleştirmek için tasarlanmıştır. fs-extra, Adm-zip ve archiver, Node.js ile veri yedekleme işlemleri için en iyi kütüphaneler arasında yer alır.
1. fs-extra
Node.js kullanarak veri yedekleme işlemleri, modern web uygulamaları için büyük önem taşımaktadır. Bu işlem için kullanabileceğiniz kütüphanelerden biri de fs-extra'dır. Node.js FS modülüne eklenen API'lerle birlikte, yedekleme işlemlerini kolaylaştırmak için bazı yardımcı fonksiyonlara sahiptir.
fs-extra, standart Node.js fs modülünü genişletir ve kullanıcılara dosya ve dizin işlemleri için birden fazla seçenek sunar. Bu kütüphane, yedekleme işlemlerinde verilerin kopyalanması, taşınması ve silinmesi gibi işlemler için oldukça kullanışlıdır.
fs-extra Fonksiyonları | Açıklama |
copy() | Bir dosya veya dizini kopyalamak için kullanılır |
move() | Bir dosya veya dizini taşımak için kullanılır |
remove() | Bir dosya veya dizini silmek için kullanılır |
fs-extra, veri yedekleme işlemlerinde dosyaların kopyalanması, taşınması ve silinmesi gibi işlemler için sağlam bir yapı sunar. Dosyaları güvenli bir şekilde yedeklemek için bu kütüphanenin kullanımı oldukça önerilir.
2. Adm-zip
Adm-zip, Node.js ile kullanıldığında dosya sıkıştırma ve açma işlemlerini kolay hale getiren bir kütüphanedir. Adm-zip, kaynak kodu bağımsız olduğu için, dosya sıkıştırma konusunda daha esnek bir çözümdür. Adm-zip'in kullanımı oldukça kolaydır ve Node.js için oldukça iyi bir seçimdir.
Adm-zip fonksiyonları, dosya sıkıştırma ve açma işlemlerinde oldukça faydalıdır. Arşive dosya eklemek için "addLocalFile()" yöntemi kullanılırken, "extractAllTo()" yöntemi, bir arşivi açmak ve içindeki tüm dosyaları belirtilen bir konuma çıkarmak için kullanılır. Adm-zip, birden fazla dosyanın sıkıştırılmasını ve açılmasını kolaylaştıran özelliklere sahiptir.
Fonksiyon Adı | İşlevi |
---|---|
addLocalFile() | Bir dosyayı arşive ekler. |
extractAllTo() | Bir arşivi açar ve içindeki tüm dosyaları belirtilen bir konuma çıkartır. |
Adm-zip, Node.js için özel olarak oluşturulmuştur ve bu sebeple işlevselliğiyle diğer dosya sıkıştırma kütüphanelerinden ayrılır. Adm-zip, sıkıştırma ve açma işlemleri için birçok farklı yöntem sunar ve kolay bir kullanım sağlar. Dosya sıkıştırma ve açma işlemleri için kullanışlı bir çözüm sunan Adm-zip, Node.js programcıları tarafından sıkça tercih edilir.
2.1. Adm-zip Fonksiyonları
Adm-zip, dosyaları sıkıştırma ve açma işlemleri için birçok farklı fonksiyona sahiptir ve bu fonksiyonlar, kütüphanenin esnekliği ve işlevselliği için önemlidir.
Fonksiyon | Açıklama |
---|---|
addLocalFile() | addLocalFile() yöntemi, bir dosyayı arşive eklemek için kullanılır. Bu yöntem, dosya adını ve konumunu alır. |
addFile() | addFile() yöntemi, bir dosyayı arşive eklemek için kullanılır. Bu yöntem, dosyanın tam yolunu alır. |
extractAllTo() | extractAllTo() yöntemi, bir arşivi açmak ve içindeki tüm dosyaları belirtilen bir konuma çıkarmak için kullanılır. Bu yöntem, izin verilen tüm dosyaları çıkaracaktır. |
extractEntryTo() | extractEntryTo() yöntemi, belirli bir dosyayı arşivden çıkarmak için kullanılır. Bu yöntem, dosya adını ve hedef konumunu alır. |
updateFile() | updateFile() yöntemi, bir dosyayı güncellemek için kullanılır. Bu yöntem, dosyanın tam yolunu ve yeni adını alır. |
Bu fonksiyonlar, farklı dosyaların sıkıştırılması veya açılması için gereklidir. Örneğin, addLocalFile() yöntemi, tek bir dosyayı arşive eklemek için kullanılırken, addFile() yöntemi birden çok dosyayı arşive eklemek için kullanılır. extractAllTo() yöntemi, arşivdeki tüm dosyaları belirtilen konuma çıkarırken, extractEntryTo() yöntemi belirli bir dosyayı çıkarmak için kullanılır. updateFile() yöntemi de bir dosyayı güncellemek için özellikle kullanışlıdır.
2.1.1. addLocalFile()
Adm-zip, yedekleme işlemleri için oldukça kullanışlı bir kütüphanedir. addLocalFile() yöntemi, bu kütüphanenin sıkıştırma işlemlerinde sık sık kullanılan bir fonksiyonudur. addLocalFile() yöntemi, arşive eklemek istediğimiz bir dosyanın yolu ve adı ile birlikte çağrılır. Bu yöntem, kaynak dosyayı süper hızlı bir şekilde sıkıştırır ve yeni bir dosya oluşturarak arşive ekler. addLocalFile() yönteminin detayları aşağıdaki tabloda yer almaktadır:
Parametre | Açıklama |
---|---|
localPath | Eklenecek dosyanın tam yolunu belirtir. |
zipPath | Dosyanın arşive ekleneceği konumu belirtir. |
zipName | Arşiv dosyasının adı. |
Örneğin, bir index.js dosyamız var ve bu dosyayı test.zip adlı bir zip arşivine eklemek istiyoruz. addLocalFile() yöntemini kullanarak bu işlemi gerçekleştirebiliriz:
const AdmZip = require('adm-zip');const zip = new AdmZip();zip.addLocalFile('index.js', 'test', 'test.zip');zip.writeZip("test.zip");
Bu örnekte, addLocalFile() yöntemi index.js dosyasını arşiv dosyasına ekliyor. İkinci parametre olan 'test' değeri ile arşive eklenen dosya, arşiv dosyasında 'test' adlı bir klasör içinde görülecektir. Son olarak, writeZip() yöntemi ile oluşturulan arşiv dosyası test.zip olarak kaydedilir.
2.1.2. extractAllTo()
Node.js kütüphanesi olan Adm-zip'in extractAllTo() fonksiyonu, bir arşivi açmak ve içindeki tüm dosyaları belirtilen bir konuma çıkarmak için kullanılır. Bu fonksiyon, sadece bir adet parametre alır, ve bu parametre, arşiv içindeki dosyaların çıkarılacağı konumu belirtir. Örnek bir kullanımda, şu şekilde bir kod parçası yazabiliriz:
// kütüphane çağırılır | var AdmZip = require('adm-zip'); |
// zip dosyasını oluşturur | var zip = new AdmZip("example.zip"); |
// dosyaları çıkartır | zip.extractAllTo(/*target path*/, /*overwrite*/); |
Örnekte görüldüğü gibi, extractAllTo() fonksiyonu, zip dosyasındaki tüm dosyaları hedef konuma çıkartır. Hedef konum, fonksiyona verilen ilk parametrede belirtilir. overwrite parametresi de, hedef konumda aynı isimde bir dosya mevcutsa, üzerine yazılıp yazılmayacağını belirtir.
2.2. Adm-zip Kullanımı
Adm-zip, Node.js ile veri yedekleme işlemlerinde en iyi kütüphanelerden biridir. Adm-zip kütüphanesi, veri yedekleme işlemleri için çoklu dosya sıkıştırma ve açma işlemlerini de kolaylaştırır. Adm-zip'in kullanımı oldukça basittir.
Bir proje içinde kullanmak için Adm-zip kütüphanesinin yüklenmesi gerekir. Bunun için öncelikle projenin kök dizininde npm install adm-zip komutu çalıştırılır. Bu işlemle birlikte kütüphane proje içinde kullanılabilir hale getirilir.
Adm-zip ile dosya sıkıştırma işlemi yapmak için, öncelikle dosya yolunu belirtmek gereklidir. Ardından addLocalFile() fonksiyonu kullanılarak dosya arşive eklenir. Benzer şekilde, arşivden dosya çıkarmak için extractAllTo() fonksiyonu kullanılır. Ek olarak, extractEntryTo() fonksiyonu da tek bir dosya çıkarmak için kullanılabilir.
Fonksiyon | Ne İşe Yarar? |
---|---|
addLocalFile() | Bir dosyayı arşive eklemek için kullanılır. |
extractAllTo() | Bir arşivi açmak ve içindeki tüm dosyaları belirtilen bir konuma çıkarmak için kullanılır. |
extractEntryTo() | Tek bir dosya çıkarmak için kullanılır. |
Adm-zip kütüphanesi sayesinde, Node.js ile veri yedekleme işlemlerinde çoklu dosya sıkıştırma ve açma işlemleri yapmak oldukça kolay hale gelir. Detaylı örnekler için kütüphanenin resmi belgeleri incelenebilir.
3. archiver
Node.js, yazılım geliştirme alanında oldukça yaygın olarak kullanılmaktadır. Bu yaygınlığın sebebi ise Node.js'in esnek yapısı ve kapsamlı kütüphaneleri arasında yer alan veri yedekleme işlemleri için en iyi kütüphanelerinden biri olan archiver. Arşiv oluşturma işlemlerini tar, zip ve diğer popüler dosya formatlarında yapabilen bu kütüphane, oldukça basit bir kullanım sunar.
Archiver, birden fazla dosyayı veya tek bir dosyayı arşivleme işlemlerini gerçekleştirmekte oldukça başarılıdır. Ayrıca arşivleme işlemi esnasında birçok özellik sağlar. Özellikler arasında sıkıştırmaya ne zaman başlanacağı, dosyaların sıkıştırma işlemi sonrası nereye kaydedileceği ve sıkıştırma işleminin ne zaman biteceği gibi birçok seçenek yer alır.
Archiver, farklı dosya şekillerinde sıkıştırma işlemleri yapabilme özelliğine de sahiptir. Tek tek dosyaların, birden fazla dosyanın, tar arşivlerinin ve zip arşivlerinin sıkıştırılmasını sağlar. Ayrıca bu işlemler esnasında dosyaların hangi formatta sıkıştırılacağı da belirlenebilir.
Archiver'ın bu geniş özellik yelpazesi, veri yedekleme işlemlerinde oldukça pratik bir kullanım sunmaktadır. Archiver kütüphanesi, Node.js projesinde kullanılmak üzere oldukça uygun bir seçenek sunmaktadır.
3.1. Dosya Şekilleri
Archiver kütüphanesi, farklı dosya şekillerinde sıkıştırma işlemleri gerçekleştirebilir. Bu işlemler arasında tek bir dosya, birden fazla dosya, tar arşivi ve zip arşivleri yer almaktadır. archiver kullanarak, herhangi bir dosya şeklini istediğiniz kadar sıkıştırabilirsiniz. Archiver, bir klasörü veya birden fazla dosyayı tek bir dosyada saklama özelliğini sunar. Bu dosya şekline zip denir. Ancak, bir klasör yerine bir arşiv oluşturmak istediğinizde, tar kullanmak daha iyi bir seçenek olacaktır. Böylece, tüm dosyaları bir arşiv dosyası içinde saklayabilirsiniz. İhtiyacınız olan tek şey archiver kullanarak bir dosya ya da bir arşiv oluşturmaktır.
3.2. archiver Özellikleri
archiver, sıkıştırma işlemlerinin daha esnek bir şekilde gerçekleştirilebilmesi için bir dizi özellik sunar. Bu özellikler, sıkıştırmanın ne zaman başlatılacağı, hangi dosyaların sıkıştırılacağı ve sıkıştırma işleminin nereye kaydedileceği gibi detaylara müdahale edebilmenizi sağlar.
Örneğin, archiver.directory() yöntemi, bir dizindeki tüm dosyaları sıkıştırma işlemine dahil edebilir. archiver.glob() yöntemi, dosyaları belirli bir desene göre seçerken, archiver.file() yöntemi tek bir dosya eklemeye izin verir.
Bunun yanı sıra, archiver.set() yöntemi ile sıkıştırma işleminin hızı, sıkıştırma seviyesi ve sıkıştırma formatı gibi özellikler de ayarlanabilir. Örneğin, archiver.set('store', true) yöntemi ile dosyalar sıkıştırılmadan sadece arşivlenir.
archiver hakkında daha fazla bilgi için npm sayfasını ziyaret edebilirsiniz.