diff options
| author | Isaac Hill <eesocktmendez@gmail.com> | 2024-10-27 23:21:36 -0700 |
|---|---|---|
| committer | Isaac Hill <eesocktmendez@gmail.com> | 2024-10-27 23:45:38 -0700 |
| commit | 6f38cde7661408ca953a96f79c9d404cea65e4db (patch) | |
| tree | 155d931f46566c23b4f5ddee7e64346f13482a93 /util | |
| parent | 11bdeb09d654abe2e4daa66c4315b6dc982564e6 (diff) | |
Add optional argument for ssh key path in utils
Diffstat (limited to 'util')
| -rw-r--r-- | util/download-latest-save.bash | 18 | ||||
| -rw-r--r-- | util/upload-save.bash | 14 |
2 files changed, 23 insertions, 9 deletions
diff --git a/util/download-latest-save.bash b/util/download-latest-save.bash index 2a84660..2ab5c62 100644 --- a/util/download-latest-save.bash +++ b/util/download-latest-save.bash @@ -1,18 +1,26 @@ #!/bin/bash # Check if remote name is provided -if [ $# -ne 1 ]; then - echo "Usage: $0 <remote_name>" +if [ $# -ne 1 -a $# -ne 2 ]; then + echo "Usage: $0 <remote_name> [optional_path_to_MyKey.pem]" exit 1 fi remote_name="$1" +key_path="" + +# Check if remote name is provided +if [ $# -eq 2 ]; then + key_path="-i $2" +fi # Generate a human-readable timestamp timestamp=$(date +"%Y-%m-%d_%H-%M-%S") + + # SSH into the remote instance to find the most recent save file -ssh_output=$(ssh "ec2-user@$remote_name" << EOF +ssh_output=$(ssh $key_path "ec2-user@$remote_name" << EOF # Record the current directory current_dir=\$(pwd) @@ -59,9 +67,9 @@ latest_file=$(basename "$latest_file_path") # Download the file from the remote instance to the current local directory with the new filename new_filename="${remote_name}_${timestamp}_${latest_file}" -scp "ec2-user@$remote_name:$latest_file_path" "./$new_filename" +scp $key_path "ec2-user@$remote_name:$latest_file_path" "./$new_filename" # Clean up the temporary file on the remote instance -ssh "ec2-user@$remote_name" "rm -f $latest_file_path" +ssh $key_path "ec2-user@$remote_name" "rm -f $latest_file_path" echo "Download complete. The latest save file has been saved as '$new_filename' in your current directory."
\ No newline at end of file diff --git a/util/upload-save.bash b/util/upload-save.bash index 9c66030..d8a109f 100644 --- a/util/upload-save.bash +++ b/util/upload-save.bash @@ -1,14 +1,20 @@ #!/bin/bash # Check if both arguments are provided -if [ $# -ne 2 ]; then - echo "Usage: $0 <path_to_MySave.zip> <ec2_address>" +if [ $# -ne 2 -a $# -ne 3 ]; then + echo "Usage: $0 <path_to_MySave.zip> <ec2_address> [optional_path_to_MyKey.pem]" exit 1 fi # Get the file path and EC2 address from command line arguments save_file="$1" ec2_address="$2" +key_path="" + +# Check if remote name is provided +if [ $# -eq 3 ]; then + key_path="-i $3" +fi # Check if the file exists if [ ! -f "$save_file" ]; then @@ -18,10 +24,10 @@ fi # Upload the save file to the EC2 instance echo "Uploading save file to EC2 instance..." -scp "$save_file" "ec2-user@$ec2_address:~/" +scp $key_path "$save_file" "ec2-user@$ec2_address:~/" # SSH into the EC2 instance and perform the required operations -ssh "ec2-user@$ec2_address" << EOF +ssh $key_path "ec2-user@$ec2_address" << EOF # Get the Factorio container ID container_id=\$(docker ps | grep factoriotools/factorio | awk '{print \$1}' | cut -c1-3) |
