Ausschalten, Herunterfahren oder Neustarten des Raspberry Pi

Der Raspberry Pi reagiert unter Umständen sehr allergisch auf ein „hartes“ Ausschalten bzw. stromlos machen. Von Datenverlust bis hin zu Hardwareschäden ist alles möglich, da er viele Daten im temporären Speicher hat und diese erst später in den Datenspeicher schreibt.

Die Alternative ist ein befehlgesteuertes Ausschalten bzw. Herunterfahren oder Neustart.

Mit den folgenden drei Befehlen kann man nichts falsch machen:

Raspberry Pi herunterfahren bzw. ausschalten (nach einer Minute):

sudo shutdown

Raspberry Pi sofort herunterfahren bzw. ausschalten

sudo poweroff

Raspberry Pi neustarten

sudo reboot

Notebook Akku in Windows 7, 8 und 10 prüfen

Um festzustellen, ob ein Notebook-Akku ausgetauscht werden sollte, insbesondere wenn er sich ständig entlädt, bieten Windows 7, Windows 8 und Windows 10 eine nützliche Funktion zur Erstellung eines Energiemanagement-Reports.

Um den sogenannten „energy-report“ zu erstellen, öffnet man die Eingabeaufforderung.

Um in die Eingabeaufforderung zu kommen, öffnet man das Startmenü und gibt über „Ausführen“ den Befehl „cmd“ ein. Wichtig ist dabei, die Eingabeaufforderung als Administrator auszuführen, was über einen Rechtsklick auf die Eingabeaufforderung und die Auswahl von „Als Administrator ausführen“ erfolgt.

Eingabeaufforderung als Administrator öffnen

In der Eingabeaufforderung gibt man den Befehl „powercfg /energy“ ein und bestätigt ihn mit Enter.

Befehl powercfg /energy eingeben

Das Diagnoseprogramm wird daraufhin für 60 Sekunden gestartet, um relevante Informationen zum Energiemanagement von Windows zu sammeln.

Das Diagnoseprogramm läuft

Nach Ablauf dieser Zeit ist die Diagnose abgeschlossen.

Diagnose abgeschlossen

Der erstellte Energie-Report liegt im Ordner C:\Windows\System32 (erreichbar über den Windows Explorer) und trägt den Namen „energy-report.html“.

Der energy-report befindet sich im system32 Ordner

Durch einen Doppelklick öffnet sich der Report im Browser, wo man zu dem Abschnitt „Akku:Akkuinformationen“ scrollt. Hier findet man zwei wichtige Werte:

Vorgesehene Akkukapazität
und
Letzte vollständige Aufladung

Akkukapazität

Die Zahl hinter Vorgesehene Akkukapazität zeigt die ursprüngliche Kapazität (das Originalfassungsvermögen) des Akkus in Milliwattstunden an.

Der Wert hinter Letzte vollständige Aufladung zeigt die aktuelle verbleibende Kapazität an.

Ein Hinweis darauf, dass der Akku getauscht werden sollte, besteht, wenn der Wert hinter „Letzte vollständige Aufladung“ nur noch etwa die Hälfte des Werts hinter „Vorgesehene Akkukapazität“ beträgt.

Diese Diskrepanz signalisiert eine erhebliche Verringerung der Leistungsfähigkeit des Akkus und deutet darauf hin, dass ein Austausch in Erwägung gezogen werden sollte.

Microsoft SQL Server – Datum abfragen

In Microsoft SQL (evtl. auch in anderen SQL-Sprachen) lassen sich mit den folgenden SQL Select Statements verschiedene Zeitpunkte abfragen:

Aktuelles Datum
(current date)

SELECT CAST(CURRENT_TIMESTAMP AS DATE) AS date_current_date

Anfang der letzten Woche (Montag als Start-Tag)
(start of last week (begin: monday))

SELECT CAST(DATEADD(WEEK, -1 ,DATEADD(DAY, -DATEPART(WEEKDAY, CURRENT_TIMESTAMP) + 1, CURRENT_TIMESTAMP)) AS DATE) AS start_of_last_week

Ende der letzten Woche (Montag als Start-Tag)
(end of last week (begin: monday))

SELECT CAST(DATEADD(WEEK, -1, DATEADD(DAY, -DATEPART(WEEKDAY, CURRENT_TIMESTAMP) + 7, CURRENT_TIMESTAMP)) AS DATE) AS end_of_last_week

Anfang der aktuellen Woche (Montag als Start-Tag)
(start of current week (begin: monday))

SELECT CAST(DATEADD(DAY, -DATEPART(WEEKDAY, CURRENT_TIMESTAMP) + 1, CURRENT_TIMESTAMP) AS DATE) AS start_of_current_week

Ende der aktuellen Woche (Montag als Start-Tag)
(end of current week (begins monday))

SELECT CAST(DATEADD(DAY, -DATEPART(WEEKDAY, CURRENT_TIMESTAMP) + 7, CURRENT_TIMESTAMP) AS DATE) AS end_of_current_week

Anfang der nächsten Woche (Montag als Start-Tag)
(start of next week (begin: monday))

SELECT CAST(DATEADD(WEEK, 1 ,DATEADD(DAY, -DATEPART(WEEKDAY, CURRENT_TIMESTAMP) + 1, CURRENT_TIMESTAMP)) AS DATE) AS start_of_next_week

Ende der nächsten Woche (Montag als Start-Tag)
(end of next week (begin: monday))

SELECT CAST(DATEADD(WEEK, 1, DATEADD(DAY, -DATEPART(WEEKDAY, CURRENT_TIMESTAMP) + 7, CURRENT_TIMESTAMP)) AS DATE) AS end_of_next_week

Anfang des letzten Monats
(start of last month)

SELECT CAST(DATEADD(MONTH, -1 , DATEFROMPARTS(YEAR(CURRENT_TIMESTAMP),MONTH(CURRENT_TIMESTAMP),1)) AS DATE) AS start_of_last_month
dateadd(m, -1, dateadd(d, (-1) * (datepart(d, getdate())-1), getdate()))

Ende des letzten Monats
(end of last month)

SELECT CAST(DATEADD(DAY, -1 , DATEFROMPARTS(YEAR(CURRENT_TIMESTAMP),MONTH(CURRENT_TIMESTAMP),1)) AS DATE) AS end_of_last_month
dateadd(d, -1, dateadd(m, 0, dateadd(d, (-1) * (datepart(d, getdate())-1), getdate())))

Anfang des aktuellen Monats
(start of current month)

SELECT DATEFROMPARTS(YEAR(CURRENT_TIMESTAMP),MONTH(CURRENT_TIMESTAMP),1) AS start_of_current_month

Ende des aktuellen Monats
(end of current month)

SELECT DATEADD(DAY, -1, DATEADD(MONTH, 1, DATEFROMPARTS(YEAR(CURRENT_TIMESTAMP),MONTH(CURRENT_TIMESTAMP),1))) AS end_of_current_month

Anfang des nächsten Monats
(start of next month)

SELECT DATEADD(MONTH, 1, DATEFROMPARTS(YEAR(CURRENT_TIMESTAMP),MONTH(CURRENT_TIMESTAMP), 1)) AS start_of_next_month

dateadd(m, -1, dateadd(d, (-1) * (datepart(d, getdate())-1), getdate()))

Ende des nächsten Monats
(end of next month)

SELECT DATEADD(DAY, -1, DATEADD(MONTH, 2, DATEFROMPARTS(YEAR(CURRENT_TIMESTAMP),MONTH(CURRENT_TIMESTAMP), 1))) AS end_of_next_month

Anfang des letzten Jahres
(start of last year)

SELECT DATEADD(YEAR, -1, DATEFROMPARTS(YEAR(CURRENT_TIMESTAMP), 1, 1)) AS start_of_last_year

Ende des letzten Jahres
(end of last year)

SELECT DATEADD(DAY, -1, DATEFROMPARTS(YEAR(CURRENT_TIMESTAMP), 1, 1)) AS end_of_last_year

Anfang des aktuellen Jahres
(start of current year)

SELECT DATEFROMPARTS(YEAR(CURRENT_TIMESTAMP), 1, 1) AS start_of_current_year

Ende des aktuellen Jahres
(end of current year)

SELECT DATEADD(DAY, -1, DATEADD(YEAR, 1, DATEFROMPARTS(YEAR(CURRENT_TIMESTAMP), 1, 1))) AS start_of_current_year

Anfang des nächsten Jahres
(start of next year)

SELECT DATEADD(YEAR, 1, DATEFROMPARTS(YEAR(CURRENT_TIMESTAMP), 1, 1)) AS start_of_next_year

Ende des nächsten Jahres
(end of next year)

SELECT DATEADD(YEAR, DATEDIFF(YEAR, 0, GETDATE()) + 2, -1)
AS end_of_next_year
1 11 12 13 14 15 31