03 Scripting (Bash)

Membuat skrip Bash untuk mengotomatisasi proses deploy aplikasi

  • Langkah-langkah:
    1. Siapkan server yang akan digunakan untuk mendeploy aplikasi. Pastikan bahwa server tersebut sudah terinstall aplikasi yang dibutuhkan seperti Git, SSH, dan aplikasi yang akan dideploy.
    2. Buat skrip Bash untuk mengotomatisasi proses deploy aplikasi. Skrip ini dapat mencakup tahapan seperti:
      • Membuat koneksi ke server menggunakan SSH
      • Mengambil source code aplikasi dari repository Git
      • Menjalankan perintah-perintah yang diperlukan untuk menyusun dan mengonfigurasi aplikasi (misalnya, menjalankan perintah npm install untuk menginstall dependencies)
      • Restarting aplikasi atau server web jika diperlukan
    3. Simulasikan skrip dengan menjalankannya di server yang sudah disiapkan. Pastikan skrip dapat mengotomatisasi proses deploy aplikasi dengan benar.

Contoh skrip:

Copy code#!/bin/bash

# Connect to server using SSH
ssh user@server "

# Go to the directory where the application is deployed
cd /path/to/app

# Pull the latest version of the code from the Git repository
git pull origin master

# Install dependencies
npm install

# Restart the application
pm2 restart app
"

Membuat skrip Bash untuk mengelola server web

  • Langkah-langkah:
    1. Siapkan server yang akan digunakan untuk mengelola. Pastikan bahwa server tersebut sudah terinstall aplikasi yang dibutuhkan seperti sudo atau adduser.
    2. Buat skrip Bash untuk mengelola server web. Skrip ini dapat mencakup tahapan seperti:
      • Menambahkan user baru ke server menggunakan perintah adduser
      • Mengubah konfigurasi server dengan mengedit file-file konfigurasi seperti /etc/nginx/nginx.conf atau /etc/ssh/sshd_config
      • Restarting aplikasi atau server web jika diperlukan
    3. Simulasikan skrip dengan menjalankannya di server yang sudah disiapkan. Pastikan skrip dapat mengelola server web dengan benar.

Contoh skrip:

Copy code#!/bin/bash

# Add a new user to the server
sudo adduser newuser

# Change the configuration of the Nginx web server
sudo sed -i 's/listen 80 default_server;/listen 8080 default_server;/g' /etc/nginx/nginx.conf

# Restart the Nginx web server
sudo service nginx restart

Membuat skrip Bash untuk mengelola database

  • Langkah-langkah:
    1. Siapkan server yang akan digunakan untuk mengelola database. Pastikan bahwa server tersebut sudah terinstall database yang akan digunakan (misalnya, MySQL atau PostgreSQL) dan aplikasi seperti mysql atau psql.
    2. Buat skrip Bash untuk mengelola database. Skrip ini dapat mencakup tahapan seperti:
      • Meng-backup database menggunakan perintah seperti mysqldump atau pg_dump
      • Menambahkan tabel baru ke database menggunakan perintah seperti CREATE TABLE
      • Mengimport data ke database dari file CSV atau Excel menggunakan perintah seperti LOAD DATA INFILE atau COPY
    3. Simulasikan skrip dengan menjalankannya di server yang sudah disiapkan. Pastikan skrip dapat mengelola database dengan benar.

Contoh skrip:

Copy code#!/bin/bash

# Backup the MySQL database
mysqldump -u username -p password database_name > database_backup.sql

# Add a new table to the database
mysql -u username -p password database_name << EOF
CREATE TABLE new_table (
  id INT PRIMARY KEY,
  name VARCHAR(255) NOT NULL
);
EOF

# Import data from a CSV file into the database
mysql -u username -p password database_name << EOF
LOAD DATA INFILE '/path/to/data.csv' INTO TABLE data_table
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
IGNORE 1 ROWS;
EOF

Membuat skrip Bash untuk mengecek dan mengirimkan notifikasi saat ada perubahan di sistem

  • Langkah-langkah:
    1. Siapkan server yang akan digunakan untuk mengecek perubahan di sistem. Pastikan bahwa server tersebut sudah terinstall aplikasi seperti crontab atau systemd untuk menjalankan skrip secara berkala.
    2. Buat skrip Bash untuk mengecek perubahan di sistem. Skrip ini dapat mencakup tahapan seperti:
      • Menggunakan perintah seperti grep atau awk untuk memproses file-file log atau mengecek file-file sistem
      • Menggunakan perintah seperti curl atau wget untuk mengirimkan notifik
Copy code# Send a notification using curl
curl -X POST -H 'Content-type: application/json' --data '{"text":"System change detected"}' https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX

# Send a notification using wget
wget --post-data='System change detected' --header=Content-Type:text/plain https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX

Membuat skrip Bash untuk mengekspor dan mengimpor data ke dan dari file Excel atau CSV

  • Langkah-langkah:
    1. Siapkan server yang akan digunakan untuk mengelola data. Pastikan bahwa server tersebut sudah terinstall aplikasi seperti awk atau sed untuk memproses file-file teks, serta aplikasi seperti libreoffice atau unoconv untuk mengkonversi file-file Excel atau CSV.
    2. Buat skrip Bash untuk mengekspor dan mengimpor data. Skrip ini dapat mencakup tahapan seperti:
      • Menggunakan perintah seperti awk atau sed untuk mengekstrak data dari file-file teks dan menyimpannya ke file CSV atau Excel
      • Menggunakan aplikasi seperti libreoffice atau unoconv untuk mengkonversi file CSV atau Excel ke dan dari format yang berbeda
    3. Simulasikan skrip dengan menjalankannya di server yang sudah disiapkan. Pastikan skrip dapat mengekspor dan mengimpor data dengan benar.

Contoh skrip:

Copy code#!/bin/bash

# Extract data from a text file and save it to a CSV file
awk -F ' ' '{print $1 "," $2}' input.txt > output.csv

# Convert an Excel file to CSV
libreoffice --headless --convert-to csv input.xlsx --outdir .

# Convert a CSV file to Excel
unoconv -f xlsx input.csv

# Convert an Excel file to CSV libreoffice --headless --convert-to csv input.xlsx --outdir . # Convert a CSV file to Excel unoconv -f xlsx output.csv

0 0 votes
Article Rating
Artikulli paraprak
Artikulli tjetër
cu.adminhttps://carauntuk.com
Semoga artikel diatas bermanfaat bagi saya pribadi dan yang membutuhkannya!
Subscribe
Notify of
0 Comments
Inline Feedbacks
View all comments