I'm trying to make a .sh file that a cronjob will run occasionally that does an automatic rsync. This is how my file looks so far:
#!/bin/bash subdir=`hostname` rsync -ah -e 'ssh -p 48180' /home/user/test email@example.com:/var/www/html/xgplayer/events/"$subdir" -y
That is one command, had to cut it in half because it was too long for one line.
I have it set to create a subdirectory based off of the hostname of the machine (please tell me if that looks good too, I'm basing that off code used for a slightly different purpose) which that user does have access to. (I just called the users user for reasons, ignore that)
What my question is that will that -y have it automatically agree to store an ssh key like I'm trying to have it do? Also, how do I have it automatically input a password through the command I'm trying to execute in the ssh when it tries to login as that user to rsync the files? I thought there was something like -- that could do that. Any help would be appreciated :)
I'm running Ubuntu Server 16.04 LTS on both machines if that helps.
Edit: Not to be super tricky, but whatever the solution is also has to be able to be put into a .sh file and run itself without user input, this is for a very specific task, sorry.
Edit 2: Doing this as per request of someone helping me, so, I can't provide screenshots unfortunately, but it asks for a password for a user on the 10.3.10.110 whenever I run the rsync command I listed, and whenever I run the ssh-keygen on a new client trying to generate a key for that user at that machine. The application I'm trying to use this for requires that this be automated completely which is why this is a problem.
Edit 2.5: Once I run the keygen and ssh-copy-id, it no longer prompts for a password at rsync, but this is going to be implemented across many machines, and for this project, I don't mind putting those in some kind of setup .sh file, but those commands require inputs which would need to be automated in order for me to use for my specific case.
Edit 3: I'm commenting a lot because I don't have enough rep to chat directly with the people trying to help me, new to this site still.