Shell Komut Dosyası Kullanarak Linux'ta Dizini Yedekleyin

Verilerinizi Linux'ta(Linux) yedeklemek için birkaç seçenek vardır . fwbackups ve Sbackup gibi bazı ücretsiz yazılım programlarını kullanabilirsiniz . Ancak, herhangi bir ekstra yazılım yüklemeden bir dizini yedeklemenin basit bir yöntemi vardır.

Bir dizinin alt dizinleriyle birlikte tarihli bir yedekleme dosyası oluşturmak için değişkenleri, tar komutunu ve date komutunu kullanarak bir kabuk betiği oluşturacağız.(date)

Kabuk betiği, temelde sırayla çalıştırılan komutların bir listesini içeren bir dosyadır. Düzenli olarak sırayla çalıştırdığınız bir dizi komutunuz varsa, bu komutları içeren bir kabuk komut dosyası oluşturmanız yararlı olur. Ardından, komutları çalıştırmak için yalnızca komut dosyasını çalıştırmanız gerekir.

Kabuk Komut Dosyası Oluşturma

Bu örnekte, bir kullanıcı kılavuzu için dosyaları içeren bir dizini yedeklemek için bir kabuk betiği oluşturacağız. Ubuntu'da (Ubuntu)Gnome ortamını kullanıyoruz .

İlk olarak, Yerler(Places) menüsünden Ana Klasör'ü(Home Folder) seçerek ana dizininize erişin . Dosya Tarayıcı(File Browser) ana dizininize açılır.

Ev klasörünü açma

Yedeklemeyi gerçekleştirmek için komutları gireceğimiz yeni bir boş dosya oluşturacağız. Sağ bölmede sağ tıklayın ve (Right-click)Create Document | Empty File Açılır menüden Dosyayı Boşalt .

Boş bir kabuk komut dosyası oluşturma

Listeye bir dosya eklenir ve yeniden adlandırılmaya hazırdır. Dosyaya bir .sh(.sh) uzantısı vererek dosya için bir ad yazın(Type) .

Yeni dosya yeniden adlandırılmaya hazır

Bu örnek için dosyamızı user_guide_backups.sh olarak adlandırdık .

Kabuk komut dosyası yeniden adlandırıldı

Şimdi komutları dosyaya eklememiz gerekiyor. Dosyanın adına sağ tıklayın ve açılır menüden gedit ile aç'ı seçin.(Open with gedit)

Kabuk komut dosyasını gedit ile açma

Dosya gedit'te(gedit) açılır . Dosyaya aşağıdaki satırları girin ve Kaydet'i tıklayın(Save) . Her satırın amacı aşağıda listelenmiştir.

NOT:(NOTE:) Ayrıca aşağıdaki metni kopyalayıp gedit'e(gedit) yapıştırabilirsiniz . <username> değiştirdiğinizden emin olun .

#!/bin/bash
 SRCDIR="/home/<username>/Documents/my_work/"
 DESTDIR="/home/<username>/Backups/"
 FILENAME=ug-$(date +%-Y%-m%-d)-$(date +%-T).tgz
 tar – create – gzip – file=$DESTDIR$FILENAME $SRCDIR

Kabuk komut dosyasını gedit'te düzenleme

Satır Satır Açıklama

Aşağıdaki tablo, kabuk komut dosyasındaki her satırın ne olduğunu açıklar.

Line # Description
1 This line must be the first line in a bash shell script, which is the default type of script.
2 This line sets up a variable called SRCDIR and sets the value of it to the directory to be backed up.
NOTE: Be sure to replace <username> with your username.
3 This line sets up a variable called DESTDIR and sets the value of it to the directory into which the backup file will be written.
NOTE: Be sure to replace <username> with your username.
4 This line sets up a variable called FILENAME and sets the value using text and variables containing the date command to add the current date and time to the filename. For example, the filename might be ug-20100212-13:03:45.tgz.
NOTE: When using a variable, always start it with the dollar sign ($). If you use a command as part of a variable, enclose the command and the options for the command in parentheses.
5 This line is the tar command with the following function and options added.

–create This function creates a new archive (or truncates an old one if the filename specified already exists) and writes the named files or directory to it.
–gzip This option tells tar to compress the files in the archive using the gzip utility.
–file This option gives tar the filename to use. In this case, we assembled the filename using the DESTDIR, FILENAME, and SRCDIR variables.

Kabuk Komut Dosyasındaki (Shell Script File)İzinleri(Permissions) Düzenleme

Komut dosyanızı çalıştırmadan önce dosyanın doğru izinlere sahip olduğundan emin olmanız gerekir. Bunu yapmak için, yukarıda belirtildiği gibi Ana Klasörünüzü tekrar açın ve kabuk komut dosyasına sağ tıklayın. (Home Folder)Açılır menüden Özellikler'i(Properties) seçin.

Kabuk komut dosyasının özelliklerini alma

Özellikler iletişim kutusu görüntülenir . (Properties)Yürüt(Execute) onay kutusunun seçili olduğundan emin olun .(Make)

Kabuk komut dosyası izinleri

Kapat 'ı(Close) tıklayın .

Kabuk Komut Dosyasını Çalıştırma

Kabuk komut dosyasını çalıştırmak için Accessories | TerminalUygulamalar(Applications) menüsünden Terminal .

Terminal penceresi açma

Terminal penceresi açıldığında, varsayılan olarak Ana Klasörünüzde olmalısınız . (Home Folder)Komut satırına pwd yazıp enter tuşuna basmak bu gerçeği doğrular. Komut istemine ./user_guide_backups.shEnter 'a basın .

Kabuk betiğini çalıştırma

Ana Klasörünüzdeki (Home Folder)Yedekler(Backups) klasöründe bir .tgz dosyanız olmalıdır . Dosya adına sağ tıklarsanız, mevcut arşivleme programlarından birinde arşivi açmak veya Buradan Çıkart(Extract Here ) komutunu kullanarak dosyaları doğrudan Yedekler(Backups) klasörüne çıkarmak için birkaç seçenek görürsünüz.

.tgz dosyası için açılır menü seçenekleri

Daha fazla bilgi

Aşağıdaki bağlantılar, kabuk komut dosyaları, tar ve tarih(date) komutları ve diğer Linux komutları hakkında daha fazla bilgi sağlar.

komut dosyası

Bash kabuğunu kullanarak komut dosyaları yazmak için hızlı bir kılavuz(A quick guide to writing scripts using the bash shell)

Bash Shell Scripting – 10 Seconds Guide | All about Linux

Bash Başvuru Kılavuzu(Bash Reference Manual)

Linux Komutları

katran MAN Sayfası(tar MAN Page)

tarih MAN Sayfa(date MAN Page)

bash komutları – Linux MAN Pages(bash commands – Linux MAN Pages)

Bu sayfaları keşfetmek, kendi kullanışlı bash kabuğu komut dosyalarınızı oluşturmanıza yardımcı olacaktır.



About the author

Hem Windows 11/10 hem de Apple'ın en yeni iOS platformunda deneyime sahip bir iPhone ve macOS geliştiricisiyim. 10 yılı aşkın deneyimle, her iki platformda da dosyaların nasıl oluşturulacağı ve yönetileceği konusunda derin bir anlayışa sahibim. Becerilerim yalnızca dosya oluşturmanın ötesine geçiyor - Apple ürünleri, özellikleri ve bunların nasıl kullanılacağı hakkında da güçlü bir bilgim var.



Related posts