Cet article explique principalement comment implémenter les statistiques de fichiers de base de données et la déduplication sous Linux. Les amis intéressés peuvent l'apprendre !
1. Exportez la table de la base de données vers un fichier texte
mysql -h host -P port -u user -p password -A database -e "sélectionnez l'e-mail, le domaine, l'heure depuis ent_login_01_000" > ent_login_01_000.txt
Un total d'utilisateurs connectés au cours des 3 derniers mois est compté, divisé en tables par mois, et il y a 128 tables par mois, toutes exportées vers des fichiers, un total de 80G
2. grep trouve tout 2018-12 2019-01 2019-02
find ./ -type f -name "ent_login_ *" | xargs cat |grep "2018-12" > 2018-12.txt
find ./ -type f -name "ent_login_*" |xargs cat |grep "2019-01" > 2019-01. txt
find ./ -type f -name "ent_login_*" |xargs cat |grep "2019-02" > 2019-02.txt
3. Utilisez awk sort et uniq pour supprimer uniquement le utilisateur précédent, et allez d'abord aux lignes en double
cat 2019-02.txt|awk -F " " '{print $1"@"$2}'|sort -T /mnt/public/phpdev/187_test /tmp/|uniq > 2019-02-awk-sort-uniq.txt
cat 2019-01.txt|awk -F " " '{print $1"@"$2}'|sort -T /mnt/public/ phpdev/187_test/tmp/|uniq > 2019-01-awk-sort-uniq.txt
cat 2018-12.txt|awk -F " " '{print $1"@ "$2}'| sort -T /mnt/public/phpdev/187_test/tmp/|uniq > 2018-12-awk-sort-uniq.txt
uniq supprime uniquement les lignes consécutives en double, le tri peut organiser les lignes en consécutives Le -T est dû au fait que le répertoire temporaire de /tmp est occupé par défaut. Le répertoire racine ne me suffit pas, j'ai donc changé le répertoire temporaire
Ces fichiers occupent plus de 100 Go
Je veux en savoir plus Pour plus de tutoriels Linux, veuillez prêter attention auTutoriel vidéo Linux sur le site Web PHP chinois !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!