-
Notifications
You must be signed in to change notification settings - Fork 0
/
redis-automation.rb
88 lines (76 loc) · 2.2 KB
/
redis-automation.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
#! /usr/bin/ruby
# Automating the redis such as install, start, stop and backup
#only root user is allowed to execute
if Process::euid == 0
print "Allowed to execute. \n"
else
print "Access denied. Execute as sudoer. \n"
end
# Installing the redis in the VM
def install_redis()
print "Welcome to the redis installion.. \n"
print "Do you want to install redis? Enter {install} else {no} \n"
installion_start = $stdin.gets.chomp
case installion_start
when "install"
output1 = `sudo apt update`
output2 = `sudo apt install redis-server`
print ("The Redis server has been installed successfully. \n")
when "no"
print "Installion has been cancelled! \n"
else
print "Invalid input. \n"
end
end
# Starting the redis in the VM
def start_redis()
print "To start the redis server enter {start}: \n"
start = $stdin.gets.chomp
if start == "start"
ouput = `sudo systemctl start redis`
print ("Your redis servers has started. \n")
else
print "Invalid input! \n"
end
end
# Stop the redis in the VM
def stop_redis()
print "To stop the redis server enter {stop}: \n"
stop = $stdin.gets.chomp.to_s
if stop == "stop"
ouput = `sudo systemctl stop redis`
print ("Your redis servers has stoped. \n")
else
print "Invalid input! \n"
end
end
# Backuping redis data
def backup_data()
print "To backup the database. Enter {backup} \n"
database_backup = $stdin.gets.chomp
if database_backup == "backup"
checking_status = `sudo systemctl is-active redis`.strip
puts "Redis status: #{checking_status}" # Debugging statement
if checking_status == "active"
output = `redis-cli BGSAVE`
puts "Your database has been backedup successfully! \n"
else
puts "The Redis server is inactive. Please start the redis server to backup the data! \n"
end
else
puts "Please enter the valid input \n"
end
end
# Calling function based on CLI argument
case ARGV[0]
when "install"
install_redis()
when "start"
start_redis()
when "stop"
stop_redis()
when "backup"
backup_data()
else
print "Help: ./redis-automation.rb {install!start!stop!backup!} \n"
end