Me gusta tener el historial de mi navegador hace años para poder ver las cosas que pueden haberme interesado hace mucho tiempo. Para perseguir este deseo, configuré Safari para que elimine los elementos del historial "manualmente" en la General
pestaña del archivo Preferences
. He hecho lo mismo para los elementos de la lista de descargas. Mi intención era (y es) no eliminar elementos del historial nunca y evitar que Safari lo haga automáticamente.
Esto pareció funcionar bien por un tiempo, y todavía tengo un historial que se remonta a más de un año. Sin embargo, recientemente he notado que los días más antiguos de mi historia están desapareciendo. Al principio no estaba seguro, pero después de hacer algunas pruebas estoy seguro. Parece suceder al azar y con poca frecuencia. Creo que la ventana de Safari también pierde el foco cuando sucede.
No estoy seguro de cómo o por qué sucede esto. Lo único que se me ocurre es que puede haber algún límite codificado en el propio Safari. O quizás elimine los elementos del historial antiguo cuando alcance el límite de memoria.
Veo que mi History.db
archivo tiene 80MiB de ls
salida:
-rw-r--r-- 1 my_username staff 80M Dec 29 13:02 History.db
¿Es 80MiB algún tipo de límite implícito para Safari?
Otra faceta preocupante de este problema es que no puedo exportar mi historial de Safari a otro navegador. Tanto Chrome como Firefox se niegan a importar cualquier cosa de Safari excepto los marcadores. Además, no tengo muchas copias de seguridad de mi historial de Safari. Aunque, las copias de seguridad no ayudarían demasiado de todos modos, ya que una copia de seguridad carecería de mi historial reciente.
Entonces, ¿cómo puedo hacer que Safari deje de perder mis elementos de historial más antiguos?
Algunos datos del entorno:
Mi versión de Safari es actualmente 11.0.2 en macOS 10.13.2. Además, no estoy usando la integración de iCloud con Safari.
EDITAR:
En el momento de la recompensa por esta pregunta, también consideraré aceptar respuestas que ofrezcan una forma de exportar mi historial a otro navegador (preferiblemente Firefox o Chrome).
Este es el límite de tamaño impuesto por Safari .
Una base de datos sqlite obviamente puede tener más de 80M; solo está limitado por la cantidad de espacio de almacenamiento disponible, pero técnicamente tiene un límite de tamaño de archivo superior de aproximadamente 140 TB
Otros desarrolladores han notado que en (versiones anteriores de) Safari, el límite está limitado a 50 GB . Es razonable suponer que este límite se ha incrementado en versiones posteriores de macOS/iOS/Safari.
También es lógico que Safari (Apple) imponga este límite de tamaño porque, de forma predeterminada, está configurado para sincronizarse con iCloud con otros dispositivos Apple, muchos de los cuales están limitados por la disponibilidad de almacenamiento (iPhones y iPads, por ejemplo).
También sabemos que la asignación de almacenamiento básica (gratuita) de iCloud es de 5 GB y esto debe representar mucho más que el historial de navegación. Cosas como archivos, configuraciones, copias de seguridad de dispositivos (cuando corresponda), llaveros, notas, etc. deben tener espacio asignado. Apple establece la sincronización de estos elementos de forma predeterminada.
No tendría mucho sentido permitir un historial ilimitado donde History.db
podría superar la capacidad de iCloud/iPad/iPhone.
A pesar de que no está utilizando la integración de iCloud , el usuario promedio lo hace y Apple diseñará sus productos en torno a esta premisa y diseñará sus productos en consecuencia.
Extrayendo tu historial
Puede extraer los elementos de su historial del History.db
archivo con este (muy) simple script sqlite3
Cree un archivo "commands.txt" y rellénelo con los siguientes comandos:
.mode csv
.once history.txt
select visit_time, title, url from history_visits inner join history_items on history_items.id = history_visits.history_item;
Luego emita el comando
sqlite3 History.db < commands.txt
Esto creará un archivo CSV llamado history.txt
que contiene la hora, el título y la URL de los elementos del historial. Esto supone que estás en el ~/Library/Safari
directorio. Tenga en cuenta que la fecha/hora de su elemento de historial estará en el tiempo de la época (aunque la época es diferente en este caso ) y deberá convertirse en última instancia.
history.txt
El archivo
resultante está completamente vacío.sqlite3
, ¿ve algo?sqlite3 History.db
, luego select * from history_items;
Déjame saber lo que obtienes.url
artículo en mi history_visits
mesa. Usé DB Browser para SQLite para inspeccionar la base de datos y descubrir esto.select
comando. Pruebalo ahora. Lo acabo de probar y funciona bien.history.txt
archivo viable. ¡Muchas gracias!Respuesta simple, no, no puedes.
Le sugiero que use Chrome e importe sus datos con estos pasos:
micro solar
PIB2
defaults write ~/Library/Preferences/com.apple.Safari.plist HistoryAgeInDaysLimit 999999
. Todavía no estoy seguro de si esto funcionará, esp. ya que este consejo no fue una respuesta aceptada.micro solar
PIB2
micro solar
PIB2
HistoryAgeInDaysLimit
de configurar999999
.oromo