[LINUX] Sie müssen vorsichtig mit den Befehlen sein, die Sie jeden Tag in der Produktionsumgebung verwenden.

Einführung

Es ist der 13. Tag von Ateam cyma Adevent Calendar 2019. Heute wird der Cyma-Ingenieur @ihsiek von Ateam Co., Ltd., EC Business Headquarters, verantwortlich sein.

"Leute, die es in einer Produktionsumgebung gemacht haben Adventskalender 2019" ist sehr beliebt. In letzter Zeit wurde die CI / CD-Umgebung verbessert, und die Chancen für den Shell-Zugriff auf die Produktionsumgebung sinken, und die Fehlerberichte anderer (anderer Unternehmen) werden ein Stock sein, der nicht herunterfällt, um nicht der gleichen Furcht zu folgen. Ich möchte, dass die Ingenieure des Unternehmens solche Fehlergeschichten lesen.

Daher möchte ich eine Fehlergeschichte in einer Produktionsumgebung schreiben, die auf einen Vorgang zurückzuführen ist, bei dem ich mir der Risiken, die ich in meinem vorherigen Job eingegangen bin, überhaupt nicht bewusst war.

TL; DR

Was ist passiert

Hintergrund

Der Tag davor

An dem Tag

Kommentar

Das Folgende ist das Ergebnis von "man cp" in der Umgebung des Auftretens.

Wenn Sie versuchen, die Datei in sich selbst zu kopieren(Mit Ausnahme der Ausgabe einer Fehlermeldung)nichts tun.
Beim Kopieren in eine vorhandene Datei ist die Zieldatei geöffnet(path,O_WRONLY|O_TRUNC)Geöffnet um.
Beim Kopieren in eine neue Datei ist die neue Datei geöffnet(path,O_WRONLY|O_CREAT,mode)'Hergestellt mit.
Die Kopierzieldatei existiert und-Wenn das Öffnen einer Datei in diesem Format mit der angegebenen Option f fehlschlägt,
cp löscht vorhandene Dateien(Oder Verknüpfung aufheben)Versuchen.
Wenn das Löschen erfolgreich ist, wird die Anweisung als Kopie in eine neue Datei fortgesetzt.

Obwohl es sich in der zweiten Zeile von unten befindet, betrachtet das Ziel des symbolischen Links dieselbe Datei im Sicherungs- und Freigabeziel

  1. Datei konnte nicht geöffnet werden
  2. Löschen Sie die vorhandene Datei
  3. Setzen Sie die Anweisung als Kopie in eine neue Datei fort
  4. In 3 fehlgeschlagen, weil die Kopierquelldatei in 2 verschwunden ist.

Das scheint das Ende der Sache gewesen zu sein. Übrigens scheint das Verhalten des Befehls cp für jede Distribution unterschiedlich zu sein, aber ich habe bestätigt, dass ein solches Problem auch zu diesem Zeitpunkt nicht aufgetreten ist, wenn die Version ordnungsgemäß aktualisiert wurde.

Zusammenfassung

Ich denke, dass das Problem durch die Tatsache verursacht wurde, dass ich darauf geachtet habe, dass der Befehl cp nur ein Kopierbefehl ist und dass es in Ordnung ist, dass ich einen Weg vorbereitet habe, ihn nur in der Produktion zu überprüfen, und dass ich das Betriebssystem nicht gründlich aktualisieren konnte. .. Hier sind meine Lektionen gelernt:

abschließend

Wie war der 13. Tag von Ateam cyma Adevent Calendar 2019? Da es eine Geschichte meines vorherigen Jobs war, schaute ich zurück und dachte, dass es an meinem derzeitigen Arbeitsplatz unmöglich sein würde, aber ich bete, dass nicht jeder der gleichen Brunft folgen wird. Wir entschuldigen uns für die Unannehmlichkeiten für alle Beteiligten zu diesem Zeitpunkt: bow_tone1:

Darüber hinaus bedeutet "Personen, die dies in der Produktionsumgebung Adventskalender 2019 getan haben", dass andere sich von ihren eigenen Fehlern ernähren sollen. Da es empfohlen wird, möchte ich, dass verschiedene Personen es lesen, einschließlich derer, die noch nie einen Produktionsbetrieb erlebt haben. Morgen ist @namedpython, ein neuer Diplomingenieur, der ein wenig chaotisch ist. Ich freue mich darauf, Neuankömmlinge zu veröffentlichen, von denen erwartet wird, dass sie eine Datenanalyseplattform aufbauen.

A-Team Co., Ltd. sucht Kollegen mit einem starken Herausforderungsgeist.

Wenn Sie als Ingenieur arbeiten möchten, lesen Sie bitte cymas Qiita Jobs.

Weitere Berufe finden Sie unter A Team Group Recruitment Site.

Recommended Posts

Sie müssen vorsichtig mit den Befehlen sein, die Sie jeden Tag in der Produktionsumgebung verwenden.
So schreiben Sie eine Datei, bei der Sie in allen Sprachen vorsichtig sein sollten
Die Programmiersprache, die Sie verwenden möchten
Sie werden in 100 Tagen Ingenieur - Tag 86 - Datenbank - Über Hadoop
In 100 Tagen sind Sie Ingenieur. ――Tag 71 ――Programmieren ――Über das Schaben 2
In 100 Tagen sind Sie Ingenieur. ――Tag 74 ――Programmieren ――Über das Schaben 5
Wir haben die Tech-Konferenzen zusammengefasst, die 2020 stattfinden sollen
In 100 Tagen sind Sie Ingenieur. ――Tag 73 ――Programmieren ――Über das Schaben 4
Was tun, wenn Sie den Papierkorb in Lubuntu 18.04 nicht verwenden können?
In 100 Tagen sind Sie Ingenieur. ――Tag 70 ――Programmieren ――Über das Schaben
In 100 Tagen sind Sie Ingenieur. ――Tag 81 ――Programmieren ――Über maschinelles Lernen 6
In 100 Tagen sind Sie Ingenieur. ――Tag 82 ――Programmieren ――Über maschinelles Lernen 7
In 100 Tagen sind Sie Ingenieur. ――Tag 79 ――Programmieren ――Über maschinelles Lernen 4
Ich wollte vorsichtig mit dem Verhalten der Standardargumente von Python sein
In 100 Tagen sind Sie Ingenieur. ――Tag 76 ――Programmieren ――Über maschinelles Lernen
In 100 Tagen sind Sie Ingenieur. ――Tag 80 ――Programmieren ――Über maschinelles Lernen 5
Sie werden in 100 Tagen Ingenieur. ――Tag 84 ――Programmieren ――Über maschinelles Lernen 9
In 100 Tagen sind Sie Ingenieur. ――Tag 83 ――Programmieren ――Über maschinelles Lernen 8
In 100 Tagen sind Sie Ingenieur. ――Tag 77 ――Programmieren ――Über maschinelles Lernen 2
Wechseln Sie das zu ladende Modul für jede Ausführungsumgebung in Python
In 100 Tagen sind Sie Ingenieur. ――Tag 85 ――Programmieren ――Über maschinelles Lernen 10
Informationen zu der von Ihnen verwendeten Entwicklungsumgebung
Sie werden in 100 Tagen Ingenieur - 29. Tag - Python - Grundlagen der Python-Sprache 5
Ich möchte Python in der Umgebung von pyenv + pipenv unter Windows 10 verwenden
Sie werden in 100 Tagen Ingenieur - Tag 33 - Python - Grundlagen der Python-Sprache 8
Sie werden in 100 Tagen Ingenieur - 26. Tag - Python - Grundlagen der Python-Sprache 3
Verwenden Sie PIL in Python, um nur die gewünschten Daten aus Exif zu extrahieren
Sie werden in 100 Tagen Ingenieur - Tag 32 - Python - Grundlagen der Python-Sprache 7
Ich musste im Unterricht keinen Dekorateur schreiben. Danke Kontextmanager
Sie werden in 100 Tagen Ingenieur - 28. Tag - Python - Grundlagen der Python-Sprache 4
Verwenden Sie den neuesten Pip in einer virtuellen Umgebung
Loggen Sie sich mit json mit pygogo ein.
Verwenden Sie os.getenv, um Umgebungsvariablen in Python abzurufen
Der Tag, an dem der Prozess abgebrochen wurde (ich habe eine Fehlermeldung erhalten, dass die Adresse bereits in der Flasche verwendet wird).
Verwenden Sie CASA Toolkit in Ihrer eigenen Python-Umgebung
Kaggle Tutorial Titanic Know-how, um in den Top 2% zu sein
Ich möchte R-Datensatz mit Python verwenden
Verwenden Sie Hash, um das Kollisionsurteil von etwa 1000 Bällen in Python zu erleichtern (im Zusammenhang mit dem neuen Corona-Virus).
Die Geschichte von PHP, die in der Entwicklungsumgebung in Ordnung war, in der Produktionsumgebung jedoch fehlerhaft LEVEL1 ~ 3 + 1
[Python] Wenn Sie Ihr eigenes Paket im oberen Verzeichnis importieren und verwenden möchten
In 100 Tagen sind Sie Ingenieur. ――Tag 60 ――Programmieren ――Über Datenstruktur und Sortieralgorithmus