10 Skrip Shell Linux untuk Produksi

Skrip Shell Linux untuk Produksi: Panduan Lengkap
Linux menyediakan fleksibilitas yang luar biasa melalui skrip shell. Skrip ini memungkinkan pengguna untuk mengotomatisasi tugas-tugas yang rumit, meningkatkan efisiensi sistem, dan meminimalkan kesalahan manusia.

Berikut adalah koleksi skrip shell Linux yang dirancang untuk berbagai kebutuhan produksi.

1. Skrip Backup File
Fungsi: Membuat cadangan direktori sumber dengan penandaan waktu.

#!/bin/bash

backup_dir="/path/ke/backup"
source_dir="/path/ke/sumber"

# Membuat backup dengan penandaan waktu
tar -czf "$backup_dir/backup_$(date +%Y%m%d_%H%M%S).tar.gz" "$source_dir"

2. Skrip Monitoring Sistem
Fungsi: Memantau penggunaan CPU dan memberikan peringatan jika melebihi ambang batas.

#!/bin/bash

threshold=90

cpu_usage=$(top -bn1 | grep "Cpu(s)" | awk '{print $2}' | cut -d. -f1)
if [ "$cpu_usage" -gt "$threshold" ]; then
  echo "Penggunaan CPU tinggi terdeteksi: $cpu_usage%"
  # Tambahkan logika notifikasi di sini
fi

3. Skrip Manajemen Akun Pengguna
Fungsi: Memeriksa keberadaan pengguna, jika tidak ada, maka akan membuatnya.

#!/bin/bash

username="pengguna_baru"

if id "$username" &>/dev/null; then
  echo "Pengguna $username sudah ada."
else
  useradd -m "$username"
  echo "Pengguna $username telah dibuat."
fi

4. Skrip Analisis Log
Fungsi: Mengekstrak baris dengan kata kunci "ERROR" dari file log.

#!/bin/bash

logfile="/path/ke/logfile.log"

grep "ERROR" "$logfile" > error_log.txt
echo "Log kesalahan telah dibuat."

5. Skrip Generator Password
Fungsi: Membuat password acak dengan panjang tertentu.

#!/bin/bash

length=12

password=$(openssl rand -base64 $length)
echo "Password yang dihasilkan: $password"

6. Skrip Enkripsi dan Dekripsi File
Fungsi: Mengenkripsi file menggunakan algoritma AES-256-CBC.

#!/bin/bash

file="/path/ke/file.txt"

openssl enc -aes-256-cbc -salt -in "$file" -out "$file.enc"
echo "File telah dienkripsi: $file.enc"

7. Skrip Instalasi Perangkat Lunak Otomatis
Fungsi: Menginstal daftar paket menggunakan apt-get.

#!/bin/bash

packages=("package1" "package2" "package3")

for package in "${packages[@]}"; do
  sudo apt-get install "$package" -y
done

echo "Semua paket berhasil diinstal."

8. Skrip Pengecek Konektivitas Jaringan
Fungsi: Memeriksa koneksi jaringan dengan ping ke host tertentu.

#!/bin/bash

host="example.com"

if ping -c 1 "$host" &>/dev/null; then
  echo "Jaringan aktif."
else
  echo "Jaringan tidak aktif."
fi

9. Skrip Pengecek Ketersediaan Situs Web
Fungsi: Memeriksa apakah situs web dapat diakses.

#!/bin/bash

website="https://example.com"

if curl --output /dev/null --silent --head --fail "$website"; then
  echo "Situs web aktif."
else
  echo "Situs web tidak aktif."
fi

10. Skrip Pembersihan Data
Fungsi: Menghapus file yang lebih tua dari 7 hari dalam direktori tertentu.

#!/bin/bash

directory="/path/ke/pembersihan"

find "$directory" -type f -mtime +7 -exec rm {} \;
echo "File lama telah dihapus."

Kesimpulan
Skrip shell Linux ini mencakup berbagai skenario yang sering ditemui dalam lingkungan produksi. Dengan memanfaatkan skrip ini, Anda dapat meningkatkan produktivitas dan efisiensi secara signifikan. Pastikan untuk menyesuaikan jalur file dan parameter sesuai dengan kebutuhan sistem Anda.

Jika Anda ingin panduan mendalam atau skrip lainnya, silakan tinggalkan komentar!