Du må være registrert og logget inn for å kunne legge ut innlegg på freak.no
X
LOGG INN
... eller du kan registrere deg nå
Dette nettstedet er avhengig av annonseinntekter for å holde driften og videre utvikling igang. Vi liker ikke reklame heller, men alternativene er ikke mange. Vær snill å vurder å slå av annonseblokkering, eller å abonnere på en reklamefri utgave av nettstedet.
  16 1954
Hei, driver å prøver å sette opp en cronjob før autobackup av noen serverfiler..


Kode

now=$(date +"%m_%d_%Y")

tar -zcvf /root/minecraft-backup-$now.tar.gz /root/mc


filename="/root/minecraft-backup-$now.tar.gz"
hostname="******.your-backup.de"
username="******"
password="*************"

ftp -in $hostname <<EOF
quote USER $username
quote PASS $password

binary
put $filename
quit
EOF

rm /root/minecraft-backup-$now.tar.gz

exit 0
Koden ser slik ut. men når jeg kjører den får jeg denne beskjeden opp (den lager tar filen ok)


ftp: connect to address ****:***:***:1000::28: Connection timed out
Trying 188.***.***.****...
/root/minecraft-backup-10_21_2013.tar.gz: No such file or directory

Den feiler alltid på IPv6. ettersom serveren ikke godtar tilkoblinger via det. Så kjører den IPv4 å skal kunne koble til..


Har kjørt ftp -in ******.your-backup.de manuellt å da fungerte det.



Beklager noe rotete skriving. Har vært lite søvn i natt
Er vel denne som feiler: "rm /root/minecraft-backup-$now.tar.gz", og det betyr vel at fila ikke ligger der lengre.

Sikker på at fila ikke blir fjernet når den kopieres over til den andre serveren?
Carrots for Fun!
darkslayer322's Avatar
Trådstarter
Den overføres ikke i det hele tatt.. Virker som den hopper rett til RM delen når den feiler på IPv6...
Når ikke å koble til med IPv4 før den feiler på No such file or directory og ender skriptet.

FTP PUT overfører bare filen, den sletter den ikke.

Testet med dette

Kode

now=$(date +"%m_%d_%Y")

tar -zcvf /root/minecraft-backup-$now.tar.gz /root/mc


filename="/root/minecraft-backup-$now.tar.gz"
hostname="******.your-backup.de"
username="******"
password="*************"

ftp -in $hostname <<EOF
quote USER $username
quote PASS $password

binary
put $filename
quit
EOF

sleep 60

rm /root/minecraft-backup-$now.tar.gz

exit 0
Gir samme feilbeskjed.. /root/minecraft-backup-10_21_2013.tar.gz: No such file or directory


Så den prøver å kjøre put $filename før den får koblet til FTP servern..

Fikset.. Feil syntax på USER og PASS og manglet /root/ på FTP serveren.
Hva skjer om du prøver å laste opp filen manuelt med de samme FTP kommandoene ?

Hvis mulig, se om du kan bruke rsync eller scp (bruker SSH), tror det vil være enklere for din del.
Jepp, ikke bruk ftp hvis du kan unngå det, denne eldgamle protokollen sender brukernavn og passord (og alt annet) i klartekst.
Til ftp er det ofte enkelt å benytte curl, samme om ftp sender i klartekst så lenge passordet ikke er benyttet andre steder, pass dog på å ha saltet og krydret( kryptert ) det du laster opp først.

Jeg ville dog valgt:

Kode

tar -jcvf /root/minecraft-backup-$now.tbz2 /root/mc
eller

Kode

tar -Jcvf /root/minecraft-backup-$now.txz /root/mc
Litt avhengig av prosessor, og litt GPG før man laster opp, det er mange useriøse tilbydere på dette internettet.
Sist endret av nudo; 22. oktober 2013 kl. 03:08.
Et lite tips i linux: Ikke kjør som root om du ikke MÅ..
Det ser ut som du kjører mc på rootbruker samt backup (ftp) som root..

Legg til "4" i "ftp -in4" for å force ipv4

Kode

#!/bin/bash
NOW=$(date +"%Y_%m_%d")  # ISO 8601, imo bedre oversikt 2013-10-28
FTP_SERVER="hostname.tld"
FTP_USER="brukernavn"
FTP_PASS="passord"
BACKUP_DIR="/home/BRUKER/mc-katalog"
BACKUP_TAR="/home/BRUKER/fil-${NOW}.tar.gz"

tar -zcvf $BACKUP_TAR $BACKUP_DIR

ftp -in4 $FTP_SERVER << EOF                         
  user $FTP_USER $FTP_PASS 
  binary                      
  put $BACKUP_TAR
  close
EOF

rm $BACKUP_TAR
exit 0
Sist endret av Borgso; 28. oktober 2013 kl. 11:48.
ओम नमो नारायण
Dodecha's Avatar
DonorCrew
Som andre sier, ikke bruk FTP, lag en egen backupbruker som har leserettigheter på filene som skal legges til offsite backup, selv bruker jeg shared key slik brukeren ikke trenger passord på login fra denne spesifikke boksen:
http://community.spiceworks.com/educ...ng_Shared_Keys

så bruker du rsync til å kopiere over, da kopieres bare endringene (sparer tid og båndbredde), sync til samme mappen offsite hver gang og kopier så den til div arkiv.

Ekte eksempler på rsync her: http://www.thegeekstuff.com/2010/09/...mand-examples/
▼ ... over en uke senere ... ▼
generelt enklere å bruke scp eller sfp med ssh nøkler for å overføre filer automatisk mellom maskiner.

scp bruker en normal ssh shell forbindelse
sftp bruker en normal ssh sfp forbindelse

sfp kan ha en batch fil (-t) som innholder kommandoer da den ikke liker å mota kommandoer via <<EOF EOF logikk


Gjør et lite søk disse:

ssh-keygen
scp
sfp
Carrots for Fun!
darkslayer322's Avatar
Trådstarter
Har nå gjort noen endringer.. Scriptet er ommentrent likens som før men kjører som egen bruker. Samme gjør minecraft.

Bruker fortsatt FTP men det er fordi backup serveren er en FTP server som står internt og kun kan nåes i intranettet der serveren står. Har ikke mulighet til SSH.. Krever rsync en server i andre enden?

Bruker 4096 bits SSH Nøkkler for å koble til SSH og har ellers iptables som sperrer alt utenom det jeg bruker som FTP, SSH, Minecraft + noen web porter.
ओम नमो नारायण
Dodecha's Avatar
DonorCrew
Rsync kan brukes lokalt også, men om vitsen er å overføre backups til en annen maskin må du jo ha en server i andre enden.
Sitat av Dodecha Vis innlegg
Rsync kan brukes lokalt også, men om vitsen er å overføre backups til en annen maskin må du jo ha en server i andre enden.
Vis hele sitatet...
Server i andre enden? Man trenger da kun en hvilken som helst linux eller unix maskin med sshd og netttilgang.
Sist endret av nudo; 13. november 2013 kl. 10:47.
Carrots for Fun!
darkslayer322's Avatar
Trådstarter
Som jeg sier har jeg ikke noe SSH eller noe sånt til backup-serveren.. Det er bare en FTP server der jeg har 100GB å bruke..
Trigonoceps occipita
vidarlo's Avatar
Donor
Prøv med en litt meir intelligent ftp-kommando, som curl eller ncftp: ncftpput -u user -p passord -P port /path/til/opplasting fil.tar
ओम नमो नारायण
Dodecha's Avatar
DonorCrew
Sitat av nudo Vis innlegg
Server i andre enden? Man trenger da kun en hvilken som helst linux eller unix maskin med sshd og netttilgang.
Vis hele sitatet...
Det er jo akkurat det jeg mente med server, en annen fysisk maskin som han rsyncer backupen sin til.
Carrots for Fun!
darkslayer322's Avatar
Trådstarter

Kode

#!/bin/bash

screen -S MC -X stuff "say Server going down for Backup in 1 minute! $(printf '\r')"

sleep 50

screen -S MC -X stuff "say Server going down for backup in 10 seconds!!! $(printf '\r')"

sleep 10

screen -S MC -X stuff "stop $(printf '\r')"

sleep 10

now=$(date +"%m_%d_%Y")

tar -zvcf /home/minecraft/backup/minecraft-backup-$now.tar.gz /home/minecraft/mc/


filename="/home/minecraft/backup/minecraft-backup-$now.tar.gz"
hostname="***"
username="***"
password="***"

#ftp -in $hostname <<EOF
#quote USER $username
#quote PASS $password

#binary
#put $filename
#quit
#EOF

ftp -n <<EOF

verbose
open $hostname
user $username $password
put $filename
bye
EOF

sleep 5

#rm $filename
screen -S MC -X stuff "/home/minecraft/mc/launch.sh $(printf '\r')"


exit 0
Har dette backup scriptet nå.. Har fått vite at serveren støtter SFTP og SCP.. Har ordnet public/private keys og sjekket at jeg kan koble til med SFTP.. Men min <<EOF EOF del fungerer ikke.. siden SFTP ikke støtter -n


Hvordan skal jeg skrive om skriptet til å bruke SFTP? ... Har passord på keyen så må finne en måte å inputte den også..
Sitat av darkslayer322 Vis innlegg
[code]
Har dette backup scriptet nå.. Har fått vite at serveren støtter SFTP og SCP.. Har ordnet public/private keys og sjekket at jeg kan koble til med SFTP.. Men min <<EOF EOF del fungerer ikke.. siden SFTP ikke støtter -n


Hvordan skal jeg skrive om skriptet til å bruke SFTP? ... Har passord på keyen så må finne en måte å inputte den også..
Vis hele sitatet...
Fjern passorder på ssh keyen. Den har ingen verdi uansett dersom du legger passordet i klar-tekst i et script i hjemmekatalogen din :-p
https://www.google.com/search?q=remove+password+from+ssh+key
http://www.thinkplexx.com/learn/howto/security/ssl/remove-passphrase-password-from-private-rsa-key

Automatisjon av sftp (evt kan du bruke -i for å tvinge den til å bruke en spesiell nøkkel-fil):
cat > kommandoer << EOF
put $filename
EOF
sftp -b kommandoer $username@$hostname