Ok, deci folosesc un server Ubuntu 18.04 pentru afacerea mea mică și am cunoștințe foarte minime în afara securității de bază și rulează ceea ce am nevoie pentru a rula. Deci, scuze dacă aceasta este o problemă cu adevărat stupidă.
Vreau să configurez un script de backup simplu care face copii de rezervă ale fișierelor și le stochează într-un alt director de pe aceeași mașină.
Pentru a face acest lucru, am urmat acest exemplu de la Ubuntu: https://ubuntu.com/server/docs/backups-shell-scripts
Am creat directoarele relevante și am actualizat scriptul la acesta:
#!/bin/bash
###################################
#
# Backup în scriptul de montare NFS.
#
###################################
# Ce să faci backup.
backup_files="/home/server/testserver/logs"
# Unde să faci backup.
dest="/home/server/backups"
# Creați un nume de fișier arhivă.
zi=$(data +%A)
hostname=$(hostname -s)
archive_file="$hostname-$day.tgz"
# Imprimați mesajul de stare de pornire.
echo „Se face backup pentru $backup_files în $dest/$archive_file”
Data
ecou
# Faceți o copie de rezervă a fișierelor folosind tar.
tar czf $dest/$archive_file $backup_files
# Imprimați mesajul de stare de sfârșit.
ecou
echo „Backup finalizat”
Data
# Lista lungă de fișiere în $dest pentru a verifica dimensiunile fișierelor.
ls -lh $dest
Am salvat bash-ul în „/home/server/backups” și apoi am încercat să îl rulez pe niște jurnale de testare. Totuși, primesc această eroare:
-bash: ./backup.sh: /bin/bash^M: interpret defectuos: Nu există un astfel de fișier sau director
Am cercetat acest lucru online și am încercat să rulez fișierul ca „bash backup.sh” și să elimin cu totul linia „#!/bin/bash”, ambele au dus la asta:
backup.sh: linia 7: $'\r': comanda nu a fost găsită
backup.sh: linia 10: $'\r': comanda nu a fost găsită
backup.sh: linia 13: $'\r': comanda nu a fost găsită
backup.sh: linia 18: $'\r': comanda nu a fost găsită
.tgzday2427erver/backupstestserver/logs
backup.sh: linia 21: $'date\r': comanda nu a fost găsită
backup.sh: linia 22: $'echo\r': comanda nu a fost găsită
backup.sh: linia 23: $'\r': comanda nu a fost găsită
tar: Eliminarea `/' de început din numele membrilor
tar: /home/server/testserver/logs\r\r: Nu poate fi stat: Nu există un astfel de fișier sau director
tar (copil): /home/server/backups\r/ns31202427\r-Friday\r.tgz\r: Nu se poate deschide: nu există un astfel de fișier sau director
tar (copil): eroarea nu poate fi recuperată: se iese acum
tar: Copilul a revenit statutul 2
tar: eroarea nu este recuperabilă: se iese acum
backup.sh: linia 26: $'\r': comanda nu a fost găsită
backup.sh: linia 28: $'echo\r': comanda nu a fost găsită
Backup finalizat
backup.sh: linia 30: $'date\r': comanda nu a fost găsită
backup.sh: linia 31: $'\r': comanda nu a fost găsită
ls: nu poate accesa '/home/server/backups'$'\r': nu există un astfel de fișier sau director
Deci, poate cineva să explice ce se întâmplă aici și să mă ajute să rezolv problema, astfel încât să pot face backup în siguranță la serverul meu? :)