Gunakan kartu pengganti. Dan taruh saja di crontab
Anda gunakan crontab -e
opsi untuk mengedit pekerjaan crontab Anda.
Lihat contoh:
* * * * * find /path/to/*.log -mtime +7 -exec rm -f {} \;
Hanya untuk menambah jawabannya, periksa artikel bagus ini tentang cara bekerja dengan crontab
Anda ! di Linux .
Anda mengedit pribadi Anda crontab dengan menjalankan crontab -e
.Ini disimpan ke /var/spool/cron/<username>
. File tersebut akan menjadi nama pengguna pemilik, jadi root akan menjadi /var/spool/cron/root. Semua yang ada di file dijalankan sebagai pemilik file.
Sintaks untuk crontab adalah sebagai berikut:
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
# For details see man 4 crontabs
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed
Saat Anda mengedit pribadi Anda sendiri crontab, melalui crontab -e
, Anda meninggalkan bidang nama pengguna, karena pengguna disimpulkan oleh nama file (lihat paragraf pertama).
Karena itu, entri Anda akan terlihat seperti ini:
0 5 * * * find /path/to/*.log -mtime +7 -delete
Ini akan berjalan setiap hari, jam 5:00 pagi, waktu sistem. Saya rasa Anda tidak perlu menjalankannya lebih sering daripada setiap hari, mengingat fakta bahwa Anda menghapus file yang berumur 7 hari tua.
Tolong jangan gunakan terlalu banyak -exec
pilihan, ketika -delete
opsi melakukan apa yang ingin Anda lakukan. Exec mem-fork sebuah shell untuk setiap file, dan sangat boros pada sumber daya sistem.
Setelah selesai, Anda dapat menggunakan crontab -l
untuk mencantumkan crontab pribadi Anda.
ps. Editor default pada sebagian besar sistem Linux adalah vi, jika Anda tidak tahu vi, gunakan sesuatu yang sederhana seperti nano dengan menyetel variabel lingkungan Anda export EDITOR=nano
find /path/to/dir-containing-files -name '*.log' -mtime +7 -exec rm -f {} \;
Untuk membuat tugas cron, letakkan file yang berisi berikut ini di direktori /etc/cron.daily:
#!/bin/sh
find /path/to/dir-containing-files -name '*.log' -mtime +7 -exec rm -f {} \;