Debians systemtid. Grundläggande Debian-serverinstallation efter installation. Sätta upp cron-loggar

Under den första installationen Debian vi konfigurerar tidszonen med hjälp av . I framtiden kan synkronisering av tid och tidszon utföras med kommandona:

$ su $ lösenord $ dpkg-reconfigure tzdata

Pilar välj Europa och tryck Stiga på .

Vi väljer även tidszon.

Som ett resultat av synkronisering får vi en universell ( Greenwich Mean Time) och den lokala tiden.

Konfigurationsfilen lagras i /etc/timezone . Du kan öppna filen med kommandot:

$ gedit /etc/timezone

Dessutom finns motsvarande datafil i katalogen /usr/share/zoneinfo och kopierade till /etc/localtime , innehåller den här filen reglerna som styr sommartid för länder som använder den.

Det finns två tidskällor i en dator: på moderkortet, en hårdvaruklocka - " CMOS" och i operativsystemets kärna, styrd av tidsservrar via nätverket. I praktiken finns det ett problem, eftersom klockan CMOSär inget annat än en räknare och innehåller ingen information om tidszonen.

Problemet uppstår när datorn är i ett nätverk eller har flera system (till exempel starta andra system via virtuell maskin) då blir det kaos och det är inte klart vilken tid som är rätt.

Tidssynkronisering kan verka överflödig på en enda dator, men är mycket viktig i ett nätverk. Eftersom det i händelse av en attack är lättare att återställa kronologin för händelser på olika maskiner. Data som samlas in på flera maskiner kommer inte att vara mycket meningsfull om den inte är synkroniserad.

Eftersom datorer regelbundet startas och startas om (för att spara ström), är det bekvämt att synkronisera maskiner med hjälp av NTP medan du laddar. För att göra detta, installera helt enkelt ntpdate-paketet, det låter dig snabbt synkronisera din datorklocka med exakta tidsservrar anslutna till World Wide Web. Vi kommer att installera ntpdate från förvaret med hjälp av pakethanteraren Synaptisk eller genom att köra kommandona i terminalen:

$ su $ lösenord $ apt-get install ntpdate

För arbetsstationer kan du byta server NTP, används vid behov genom modifiering /etc/default/ntpdate fil.

För servrar, eftersom de sällan startas om, och det finns ett stort behov av att underhålla exakt tid, måste du installera lokal server NTP.

Installerar NTP

$ aptitude installera ntp ntpdate

I standardkonfigurationen kommer servern att synkronisera med resursen pool.ntp.org och ge tid som svar på förfrågningar som kommer från lokalt nätverk. Du kan anpassa den genom att redigera /etc/ntp.conf fil.

Av säkerhetsskäl måste du lägga till i filen för att komma åt din server utifrån /etc/ntp.conf följande rader (dessa rader kan redan finnas):

Inaktivera monitor limit default kod nomodify notrap nopeer noquery limit -6 standard kod nomodify notrap nopeer noquery limit 127.0.0.1 limit -6::1

inaktivera monitor - inaktivera monlist-frågor som returnerar en lista över de senaste 600 klienterna ntp. begränsa standardkod nomodify notrap nopeer noquery

limit -6 standard kod nomodify notrap nopeer noquery - inaktivera frågor om serverstatus.

Du kan också ange dina servrar för tidssynkronisering, till exempel adresser till ryska NTP-servrar: https://www.ntp-servers.net/servers.html och redigera filen /etc/ntp.conf genom att köra kommandot:

$ gedit /etc/ntp.conf

Engångssynkronisering

Servern används som exempel. ntp1.stratum1.ru:

$ ntpdate ntp1.stratum1.ru

Innan synkronisering

Efter synkronisering

För att organisera konstant tidssynkronisering kommer vi att installera demonen (servern) ntp

Redigera filen /etc/ntp.conf eller skapa den om det inte finns någon sådan fil.

$ server ntp1.stratum1.ru iburst

Starta ntp och lägg till dess autoload

$ /etc/init.d/ntp start $ update-rc.d ntp standardvärden

Den exakta tiden på datorn är en trevlig sak .. men enligt min observation försöker många inte ens använda den .. i bästa fall manuell justering .. :(
Linux har en underbar ntp-tjänst, men många människor kan inte konfigurera den, för detta måste du läsa en viss mängd dokumentation för att förstå "hur det fungerar" (c)
Jag ska försöka kortfattat förklara hur man ställer in och använder den här tjänsten, i första hand för de som inte vill eller inte kan lägga ner mycket tid på det.
Vad är det för?
Med en korrekt konfigurerad tjänst på servern kan du lokalt synkronisera klockorna på alla datorer i det lokala nätverket, både OS Linux och Windows.
Vad som är trevligt, det finns ingen anledning att ständigt komma åt Internet, när servern har det, då kommer den att göra en justering i tid .. resten kommer att få synkronisering lokalt från den.
Dessutom, mycket ofta på äldre datorer, är batterierna moderkort redan ansluten och tiden rinner ut, när du startar datorn kommer tiden att justeras automatiskt ..
Vad behöver installeras?
Det finns paket i Debians standardarkiv: ntp och ntpdate
apt-get installera ntp ntpdate
i princip efter installationen börjar servern fungera omedelbart..
men du kommer inte att kunna synkronisera med den.
för att göra detta måste något ändras i /etc/ntp.conf ..
Nedan ger jag konfigurationen och kommentarer till den, du kan göra dina egna korrigeringar:
#=============================================================================
# /etc/ntp.conf, konfiguration för ntpd; se ntp.conf(5) för hjälp driftfile /var/lib/ntp/ntp.drift statsdir /var/log/ntpstats/statistik loopstats peerstats klockstats filgen loopstats fil loopstats typ dag aktivera filgen peerstats fil peerstats typ dag aktivera filgen klockstats fil klockstats typ dag aktivera server 0.debian.pool.ntp.org server 1.debian.pool.ntp.org server 2.debian.pool.ntp.org server 3.debian.pool.ntp.org server 2.ru.pool. ntp.org server 1.ru.pool.ntp.org server 3.europe.pool.ntp.org server 2.europe.pool.ntp.org limit -4 standard kod notrap nomodify nopeer noquery limit 127.0.0.1 # vårt nätverk begränsa nr nivån, desto lägre siffra. 0 är atomklockan, #1 är synkroniserad med den, 2 är med den första och så vidare. server 127.127.1.1 fudge 127.127.1.1 stratum 3 ======================================== ==========================================

Windows-datorer XP, till exempel, kan du nu ange din server i datum- och tidsinställningarna, eller dess ipdaares och synkronisera ..
med Windows 98 är 200 svårare... behövs specialprogram, typ D4,
vilket i grunden är korrekt.
Med Linux - nästan alla versioner som jag känner till har en sådan tjänst .. Jag tror inte att konfigurationen där är väldigt annorlunda .. :)

|

Exakt timing är en mycket viktig aspekt korrekt funktion många moderna program. På grund av felaktig tid kan fel uppstå på servern och data kan skadas (till exempel vid uppdatering av databasen eller loggning).

I Debian 9 är tidssynkronisering inbyggd och aktiverad som standard; standard ntpd-servern som tillhandahålls av ntp-paketet är ansvarig för det. Denna manual kommer att introducera dig till de grundläggande kommandona för tidshantering, hur du kontrollerar statusen för ntpd och ställer in andra nätverkstidstjänster.

Krav

För att fungera behöver du en Debian 9-server och en användare med sudo-åtkomst (manualen måste köras i den här användarens session). Du hittar alla nödvändiga installationsinstruktioner.

Grundläggande kommandon för tidshantering

date är huvudkommandot för att bestämma tiden på servern. Alla användare kan använda den för att ta reda på datum och tid:

datum
Tis 4 sep 17:51:49 UTC 2018

Som standard använder servrar UTC-tidszonen (Coordinated Universal Time) - detta är koordinerad universell tid. UTC ställer konsekvent in tiden på servrarna och minimerar fel om infrastrukturservrarna är placerade i olika tidszoner.

För att ändra tidszon, använd kommandot timedatectl.

Begär en lista över tillgängliga bälten:

timedatectl list-tidszoner

Du kan flytta nedåt i listan med mellanslagstangenten och uppåt med b. Välj en tidszon, skriv ner den och tryck på q för att stänga listan.

Ställ nu in tidszonen med timedatectl set-timezone. Använd följande kommando och ange önskad tidszon i den:

sudo timedatectl set-timezone America/New_York

Obs: Ersätt America/New_York med den tidszon som krävs.

Se till att bältet har bytts:

datum
Tis 4 sep 13:52:57 EDT 2018

Tidszonens förkortning kommer att återspegla det nya värdet.

ntpd tillstånd

Standard för pooltidssynkronisering externa servrar Debian 9 använder standard ntpd-servern. Du kan kontrollera dess status med systemctl:

sudo systemctl status ntp
ntp.service - LSB: Starta NTP-demonen
Laddad: laddad (/etc/init.d/ntp; genererad; förinställd leverantör: aktiverad)
Aktiv: aktiv (igång) sedan tis 2018-09-04 15:07:03 EDT; 30 minuter sedan
Dokument: man:systemd-sysv-generator(8)
Process: 876 ExecStart=/etc/init.d/ntp start (kod=avslutad, status=0/SUCCESS)
Uppgifter: 2 (gräns: 4915)
CGroup: /system.slice/ntp.service
└─904 /usr/sbin/ntpd -p /var/run/ntpd.pid -g -u 105:109
. . .

Den aktiva (kör) raden indikerar att servern körs korrekt. För mer information, använd kommandot ntpq:

ntpq -s
remote refid st t när poll nå fördröjning offset jitter
==============================================================================
0.debian.pool.n .POOL. 16 p - 64 0 0,000 0,000 0,000
1.debian.pool.n .POOL. 16 p - 64 0 0,000 0,000 0,000
2.debian.pool.n .POOL. 16 p - 64 0 0,000 0,000 0,000
3.debian.pool.n .POOL. 16 p - 64 0 0,000 0,000 0,000
-eterna.binary.n 204.9.54.119 2 u 240 256 377 35.392 0.142 0.211
-static-96-244-9 192.168.10.254 2u 60 256 377 10.242 1.297 2.412
+minime.fdf.net 83.157.230.212 3 u 99 256 377 24.042 0.128 0.250
*t1.time.bf1.yah 98.139.133.62 2 u 31 256 377 11.112 0.621 0.186
+x.ns.gin.ntt.ne 249.224.99.213 2 u 108 256 377 1.290 -0.073 0.132
-ord1.m-d.net 142.66.101.13 2 u 473 512 377 19.930 -1.764 0.293

ntpq är frågeverktyget för ntpd. -p-flaggan samlar information om de NTP-servrar som ntpd är ansluten till. Din produktion kommer att vara något annorlunda, men kommer att inkludera standard Debianpoolservrar och några andra servrar. Det kan ta flera minuter för ntpd att upprätta en anslutning.

Byter från ntpd till systemd-timesyncd

Du kan använda systemds inbyggda timesyncd-demon för att ersätta ntpd. timesyncd är ett enkelt ntpd-alternativ integrerat med systemd. Men när du gör övergången, var medveten om att timesyncd inte fungerar som en tidsserver och använder mindre sofistikerade metoder för att synkronisera systemtiden. Om du kör komplexa realtidsdistribuerade system är det bäst att hålla fast vid ntpd.

För att byta till timesyncd, ta först bort ntpd.

sudo apt rensa ntp

Kör sedan timesyncd:

sudo systemctl starta systemd-timesyncd

Kontrollera dess status:

sudo systemctl status systemd-timesyncd
systemd-timesyncd.service - Network Time Synchronization
Laddad: laddad (/lib/systemd/system/systemd-timesyncd.service; aktiverad; förinställd leverantör: aktiverad)
Drop-in: /lib/systemd/system/systemd-timesyncd.service.d
└─disable-with-time-daemon.conf
Aktiv: aktiv (kör) sedan tis 2018-09-04 16:14:23 EDT; 1s sedan
Dokument: man:systemd-timesyncd.service(8)
Huvud-PID: 3399 (systemd-timesyn)
Status: "Synkroniserad med tidsserver 198.60.22.240:123 (0.debian.pool.ntp.org)."
Uppgifter: 2 (gräns: 4915)
CGroup: /system.slice/systemd-timesyncd.service
└─3399 /lib/systemd/systemd-timesyncd

För att få information om systemds aktuella tidsuppfattning, skriv:

timedatectl
Lokal tid: Tis 2018-09-04 16:15:34 EDT
Universell tid: Tis 2018-09-04 20:15:34 UTC
RTC-tid: Tis 2018-09-04 20:15:33
Tidszon: America/New_York (EDT, -0400)
Nätverkstid på: ja

NTP-synkroniserad: ja
RTC i lokal TZ: nej

Kommandot kommer att skriva ut lokal tid, universell tid (vilket kan vara samma som lokal tid om du inte har bytt från UTC-tidszonen) och information om tillståndet för tiden på nätverket. Nätverkstid på: ja betyder att timesyncd-tjänsten är aktiverad och NTP-synkroniserad: ja betyder att tiden har synkroniserats.

Slutsats

Nu vet du hur du hanterar systemtiden för en Debian 9-server.

En NTP-server är en ganska användbar sak som gör att du kan distribuera "tid" till datorer på ett lokalt nätverk. Detta är mycket användbart, speciellt när man använder program i 1C-familjen, som inte riktigt gillar om tiden på klienterna eller på servern skiljer sig åt. Den enklaste och populäraste tidsservern i nix-system tror jag är en NTP-server. NTP-servern körs i teorin redan med grundläggande installation system, för säkerhets skull kommer vi att installera det innan vi ställer in NTP-servern baserad på Debian 8.

Låt oss installera NTP-servern:

apt-get installera ntp ntpdate

Låt oss nu ställa in konfigurationsfilen:

Nano /etc/ntp.conf

Väldigt viktigt! Den 13 januari 2014 blev det känt om möjligheten av mass-DDoS-attacker genom den oskyddade ntpd-demonen. Därför bör du inte i onödan tillåta åtkomst till din NTP-server utifrån. I Debian 8 är extern åtkomst aktiverad som standard, men om du har en annan distribution bör du lägga till i filen /etc/ntp.conf följande rader:

Inaktivera monitor limit -4 standard kod nomodify notrap nopeer noquery limit -6 standard kod nomodify notrap nopeer noquery limit -4 127.0.0.1 limit -6::1

Ett exempel på konfigurationsfilen, med ryska kommentarer:

#Lista över servrar för tidssynkroniseringsserver 0.ru.pool.ntp.org iburst prefer #Denna server kommer att vara huvudservern för synkroniseringsserver 1.ru.pool.ntp.org iburst server 2.ru.pool.ntp.org iburst server 3. ru.pool.ntp.org iburst #Inaktivera övervakning inaktivera monitor #Offset fildriftfil /var/db/ntpd.drift #NTP serverloggfil loggfil /var/log/ntpd.log #Tillåt vår server att vara ändras via lokalt gränssnitt begränsa 127.0 .0.1 #Tillåt att ändra tiden från våra valda servrar limit 0.ru.pool.ntp.org noquery notrap restrict 1.ru.pool.ntp.org noquery notrap restrict 2.ru.pool.ntp. org noquery notrap limit 3.ru .pool.ntp.org noquery notrap #Tillåt slutligen åtkomst till tidsservern endast från vårt lokala nätverk begränsa 192.168.0.0 mask 255.255.255.0 nomodify notrap nopeer #Om nödvändigt, öppen åtkomst från alla håll. (Detta ger dig också tillgång till din NTP-server från internet, om servern är ansluten till den och åtkomst) #restrict 0.0.0.0 mask 0.0.0.0 nomodify notrap nopeer

Vi väljer en pool av servrar från tidszonen.

Nu sparar vi konfigurationsfilen och startar om vår demon:

Service ntp omstart

Kontrollera loggfilen för fel, om allt är bra behöver du bara vänta 10-15 minuter innan servern automatiskt synkroniserar med de valda servrarna. För att kontrollera detta, skriv in:

Ntpq -c-kamrater

Tecknet + framför adressen indikerar den server som den senaste synkroniseringen ägde rum med. Du kan också synkronisera med dig själv:

ntpdate -q localhost

eller synkronisera med den valda servern:

Ntpdate server_address #Till exempel 0.ru.pool.ntp.org

Om du behöver ändra tidszon, då måste du ersätta filen /etc/localtime, för detta räcker det att ta bort gammal fil, och välj önskad zon från katalogen /usr/share/zoneinfo/. Till exempel har jag Jekaterinburg-zonen, och jag ändrar den till Moskva:

Rm /etc/localtime ln -s /usr/share/zoneinfo/Europe/Moskva /etc/localtime

Synkronisera Windows med en NTP-server på Linux

Om din NTP-server har ett stratum under 2 eller 3, synkroniseras inte Windows-maskiner med din Linux NTP-server. Men detta är lätt nog att lösa. För synkronisering Windows-system genom en NTP-server installerad på Linux (Debian, Ubuntu, etc.) kan du använda kommandoraden:

Nettotid \\IP_NTP_SERVER_ADDRESS /set /yes

Och arbetsstationen under Windows är synkroniserad med din NTP-server på Linux-system. Alternativt kan du skapa en bat-fil och lägga till den i Windows-start. Efter det kommer tidssynkronisering att ske efter varje OS-start.

jag använder operativ system Debian GNU/Linux på servrar för webbhotell. När version 9 av Stretch släpptes sommaren 2017 var jag glad att PHP 7 fanns tillgängligt för det i arkiven direkt från förpackningen. Vilket som ni vet är snabbare än PHP 5.

I den här artikeln kommer jag att visa att med tidsinställningen på Debian 9 blev det också bättre, du behöver inte ladda ner och installera något extra, i synnerhet ntp-demonen eller ntpdate-verktyget. Allt är perfekt konfigurerbart och körs på standard Debian 9-programvara tack vare den uppdaterade versionen systemd, som har en separat tjänst som ansvarar för att synkronisera systemtiden med hjälp av protokollet NTP.

Hur man ställer in Debian 9-tiden

Först måste du bestämma dig för din tidszon och ställa in den, för mig ser det ut så här:

# timedatectl ställ in tidszon Europa/Volgograd

Sedan måste du redigera filen /etc/systemd/timesyncd.conf, som anger servrarna för tidssynkronisering i den, till exempel:

# Den här filen är en del av systemd. # # systemd är fri programvara; du kan distribuera det och/eller modifiera det # under villkoren i GNU Lesser General Public License som publicerats av # Free Software Foundation; antingen version 2.1 av licensen, eller # (efter eget val) någon senare version. # # Poster i den här filen visar kompileringstidens standardvärden. # Du kanändra inställningarna genom att redigera den här filen. # Standardvärden kan återställas genom att helt enkelt ta bort den här filen. # # Se timesyncd.conf(5) för detaljer. NTP=ru.pool.ntp.org FallbackNTP=pool.ntp.org

Här i alternativ NTP= prioritetsservrar för tidssynkronisering anges. Om det uppstår ett misslyckande när du kommer åt dem, kommer servrarna som anges i FallbackNTP=.

Efter att ha gjort ändringar i konfigurationsfilen måste du starta om tidssynkroniseringstjänsten:

# systemctl starta om systemd-timesyncd

Status för tidsinställningen kan kontrolleras med följande kommando:

# timedatectl status

Resultatet nedan visar att klockan på min server är korrekt inställd och är synkroniserad med NTP-protokollet.

Lokal tid: Tis 2018-12-18 16:36:33 +04 Universell tid: Tis 2018-12-18 12:36:33 UTC RTC-tid: Tis 2018-12-18 12:36:33 Tidszon: Europa/ Volgograd (+04, +0400) Nätverkstid på: ja NTP-synkroniserad: ja RTC i lokal TZ: nej

här,
lokal tidär lokal tid;
Universell tid- UTC-tid (Coordinated Universal Time). Detta är utgångspunkten för att räkna alla tidszoner;
RTC-tid- tid i hårdvaruklockan på servern (dator);
tidszon- din tidszon;
nätverkstid på- indikerar om ntp-klienten som ingår i systemd är aktiverad;
NTP synkroniserad- talar om om tiden är synkroniserad med ntp-servern;
RTC i lokal TZ- visar vilken tid som är lagrad i hårdvaruklockan: lokal eller universell. Vart i, ja betyder lokal tid, Nej- över hela världen;

Information för nybörjare

Jag får ibland frågan var jag ska ange (utföra) de kommandon jag ger?

Alla kommandon i den här artikeln måste köras i serverkonsolen som en privilegierad användare (root). Tecken # (octothorpe, hash, skarp, hash) säger bara så.

Som konsolklient för fjärranslutning till servrarna jag använder programmet