Zur Zeit lösche ich manuell alte Daten (alte mehr als 90 Tage) aus sqlite
Datenbanken, also unten sind die Schritte, die derzeit dafür folgen. So Jungs Ist das möglich, diesen Job mit Bash Script zu tun?Skript zum Löschen alter Daten aus sqlite3-Datenbanken
1. cd /opt/db (my database location)
2. ls -lSh | head -n30 (sorting from top highest size .db files and notes all .db names)
3. sqlite3 test1.db (select database)
4. delete from tbl_outbox where time<='2016-02-10 00:00:00'; (delete data older more than 90 days)
5. vacuum;
Es gibt mehr als 20 .db
Dateien. so dass ich wieder über einen nach dem anderen Schritte 3 bis 5 wie unten
sqlite3 test2.db
delete from tbl_outbox where time<='2016-02-10 00:00:00';
vacuum;
können Sie mir jemand helfen, Bash-Skript zu erstellen, um diese Aufgabe zu tun.
dank
Useless hinzufügen/entfernen Verwendung von ls: Ich sugg est, '$ (ls * .db)' durch '* .db' zu ersetzen. – Cyrus
ja irgendwie .... es ist die ganze Befehlsersetzung, die unnötig ist, aber darin, dass Sie die Idee bekommen, dass Sie dort irgendeinen Befehl hineinlegen können. Ich nehme an, dass ich bereits gezeigt habe, dass in DATESTRING = $ (Datum "+% Y-% m-% d 00:00:00" -d "jetzt -90 Tag") Also ich werde es etit und tun, wie Sie vorschlagen. – louigi600