Puncte:0

Încerc să fac un script shell simplu pentru a face backup la fișierele de pe aceeași mașină, dar continui să întâlnesc erori pe care nu știu cum să le rezolv

drapel us

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? :)

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.