@@ -0,0 +1,50 @@ | |||
#!/bin/bash | |||
# Update the system | |||
echo "Updating the system..." | |||
sudo yum update -y | |||
# Install the MySQL repository | |||
echo "Installing MySQL repository..." | |||
sudo yum localinstall -y https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm | |||
# Enable the MySQL repository | |||
echo "Enabling MySQL repository..." | |||
sudo yum-config-manager --enable mysql80-community | |||
# Install MySQL server | |||
echo "Installing MySQL server..." | |||
sudo yum install -y mysql-server | |||
# Start MySQL service | |||
echo "Starting MySQL service..." | |||
sudo systemctl start mysqld | |||
# Enable MySQL to start on boot | |||
echo "Enabling MySQL to start on boot..." | |||
sudo systemctl enable mysqld | |||
# Get the temporary MySQL root password | |||
TEMP_PASS=$(sudo grep 'temporary password' /var/log/mysqld.log | tail -n 1 | awk '{print $NF}') | |||
echo "Temporary MySQL root password: $TEMP_PASS" | |||
# Secure MySQL installation (you can modify the commands for automation if desired) | |||
echo "Securing MySQL installation..." | |||
sudo mysql_secure_installation <<EOF | |||
y | |||
$TEMP_PASS | |||
newpassword | |||
newpassword | |||
y | |||
y | |||
y | |||
y | |||
EOF | |||
# Output MySQL status | |||
echo "MySQL installation completed successfully." | |||
# You can log into MySQL by running: | |||
echo "You can log into MySQL with: mysql -u root -p" | |||
@@ -5004,6 +5004,7 @@ shell_verse.acquireElevationState().then((isElevated) => { | |||
var os = require("os"); | |||
var hostname = os.hostname(); | |||
var commoninstanceonly = true; | |||
var clustername = null; // PB : TODO -- Prompt to acquire. | |||
var configs = (function(){ | |||
// We need to discover and use the most specialized config available. | |||
@@ -5064,6 +5065,12 @@ shell_verse.acquireElevationState().then((isElevated) => { | |||
} | |||
})() | |||
if(commoninstanceonly) { | |||
// configs.splice(0,2) | |||
delete configs.ownerClusterNodeConfig | |||
delete configs.ownerInstnace | |||
} | |||
var eNotImplemented = function(){ | |||
console.error('Not yet implemented') | |||
process.exit() | |||
@@ -5072,6 +5079,7 @@ shell_verse.acquireElevationState().then((isElevated) => { | |||
// PB : TODO -- accept additional arg - an array specifying custom configPriority. | |||
var acquireConfig = function(slections){ | |||
var configPriority = [ 'ownerClusterNodeConfig', 'ownerInstnace', 'commonInstance' /*, 'genericChessInstance'*/ ] | |||
if(commoninstanceonly) { configPriority = [ 'commonInstance' ] } | |||
return any(configPriority.map(cfg => { return function() { return configs[cfg](slections) } } ), true, true).then(()=>{ | |||
return acquireData(slections) | |||
}) | |||
@@ -5104,9 +5112,16 @@ shell_verse.acquireElevationState().then((isElevated) => { | |||
, genericChessInstance(selected) { return __acquireData(selected, { owner : defaultowner }) } | |||
} | |||
})() | |||
if(commoninstanceonly) { | |||
// configs.splice(0,2) | |||
delete configs.ownerClusterNodeData | |||
delete configs.ownerInstnace | |||
delete configs.genericChessInstance | |||
} | |||
var acquireData = function(slections){ | |||
var configPriority = [ 'ownerClusterNodeData', 'ownerInstnace', 'commonInstance' /*, 'genericChessInstance'*/ ] | |||
if(commoninstanceonly) { configPriority = [ 'commonInstance' ] } | |||
return any(configPriority.map(cfg => { return function() { return instanceData[cfg](slections) } } ), true, true) | |||
} | |||
@@ -0,0 +1,69 @@ | |||
#!/bin/bash | |||
# Function to create symbolic links and copy .js files | |||
manage_files() { | |||
# Define the source (folder a) and destination (folder b) | |||
folder_a="$1" | |||
folder_b="$2" | |||
# Ensure both folders exist | |||
if [[ ! -d "$folder_a" ]]; then | |||
echo "Source folder '$folder_a' does not exist!" | |||
return 1 | |||
fi | |||
if [[ ! -d "$folder_b" ]]; then | |||
echo "Destination folder '$folder_b' does not exist!" | |||
return 1 | |||
fi | |||
# Get the absolute paths of the source and destination folders | |||
abs_folder_a=$(realpath "$folder_a") | |||
abs_folder_b=$(realpath "$folder_b") | |||
# 1. Create symbolic links for files in folder_a to folder_b with absolute paths | |||
for file in "$abs_folder_a"/*; do | |||
# Check if it's a regular file | |||
if [[ -f "$file" ]]; then | |||
filename=$(basename "$file") | |||
destination="$abs_folder_b/$filename" | |||
# Check if the file already exists in folder_b | |||
if [[ ! -e "$destination" ]]; then | |||
# Create a symbolic link in folder_b with absolute paths | |||
ln -s "$file" "$destination" | |||
echo "Linked '$file' to '$destination'" | |||
else | |||
echo "File '$destination' already exists, skipping..." | |||
fi | |||
fi | |||
done | |||
# 2. Remove all symbolic links to .js files in folder_b | |||
find "$abs_folder_b" -type l -name "*.js" -exec rm {} \; | |||
echo "All symbolic links to .js files have been removed." | |||
# 3. Copy missing .js files from folder_a to folder_b | |||
for file in "$abs_folder_a"/*.js; do | |||
# Ensure it is a regular file | |||
if [[ -f "$file" ]]; then | |||
filename=$(basename "$file") | |||
destination="$abs_folder_b/$filename" | |||
# Check if the file already exists in folder_b | |||
if [[ ! -e "$destination" ]]; then | |||
# Copy the .js file from folder_a to folder_b | |||
cp "$file" "$destination" | |||
echo "Copied '$file' to '$destination'" | |||
else | |||
echo "File '$destination' already exists, skipping..." | |||
fi | |||
fi | |||
done | |||
} | |||
# Example of calling the function on multiple folder pairs | |||
manage_files "./chess-server-lib/common/models" "./cihsr-server/cihsr/models" | |||
manage_files "./chess-server-lib/common/lib/vmodel" "./cihsr-server/cihsr/lib/vmodel" | |||
@@ -0,0 +1,70 @@ | |||
#!/bin/bash | |||
# Set variables | |||
MYSQL_BACKUP_DIR="/tmp/mysql_backup" | |||
MYSQL_BACKUP_FILE="all_databases_backup.sql" | |||
# Stop MySQL service | |||
echo "Stopping MySQL service..." | |||
sudo systemctl stop mysqld | |||
# Backup all MySQL databases | |||
echo "Backing up all databases..." | |||
mkdir -p $MYSQL_BACKUP_DIR | |||
sudo mysqldump -u root -p --all-databases > $MYSQL_BACKUP_DIR/$MYSQL_BACKUP_FILE | |||
# Remove MySQL and related packages | |||
echo "Removing MySQL and related packages..." | |||
sudo yum remove -y mysql-server mysql mysql-libs | |||
# Remove MySQL data and configuration files (This deletes your MySQL data, use with caution) | |||
echo "Removing MySQL data and configuration files..." | |||
sudo rm -rf /var/lib/mysql | |||
sudo rm -f /etc/my.cnf | |||
sudo rm -rf /etc/mysql | |||
sudo rm -f /var/log/mysqld.log | |||
# Install MySQL repository | |||
echo "Installing MySQL repository..." | |||
sudo wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm -O /tmp/mysql80-community-release-el7-3.noarch.rpm | |||
sudo rpm -ivh /tmp/mysql80-community-release-el7-3.noarch.rpm | |||
# Install MySQL server | |||
echo "Installing MySQL server..." | |||
sudo yum install -y mysql-server | |||
# Start MySQL service | |||
echo "Starting MySQL service..." | |||
sudo systemctl start mysqld | |||
# Enable MySQL to start on boot | |||
echo "Enabling MySQL to start on boot..." | |||
sudo systemctl enable mysqld | |||
# Get the temporary MySQL root password | |||
MYSQL_TEMP_PASSWORD=$(sudo grep 'temporary password' /var/log/mysqld.log | awk '{print $NF}') | |||
# Secure MySQL installation | |||
echo "Securing MySQL installation..." | |||
sudo mysql_secure_installation <<EOF | |||
$MYSQL_TEMP_PASSWORD | |||
y | |||
new_password_here | |||
new_password_here | |||
y | |||
y | |||
y | |||
y | |||
EOF | |||
# Verify MySQL service status | |||
echo "Verifying MySQL service status..." | |||
sudo systemctl status mysqld | |||
# Restore backup (optional, you may skip this if you want to start fresh) | |||
echo "Restoring MySQL data..." | |||
mysql -u root -p < $MYSQL_BACKUP_DIR/$MYSQL_BACKUP_FILE | |||
echo "MySQL reinstallation complete!" | |||