āĻāĻ āĻĒā§āĻ¸ā§āĻā§, āĻāĻŽāĻ°āĻž āĻāĻāĻāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ inotify + createrepo āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻāĻāĻāĻŋ rpm āĻāĻ°ā§āĻāĻŋāĻĢā§āĻ¯āĻžāĻā§āĻ āĻ¸āĻāĻā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ āĻĻā§āĻāĻŦāĨ¤ āĻāĻ°ā§āĻāĻŋāĻĢā§āĻ¯āĻžāĻā§āĻāĻā§āĻ˛āĻŋ apache httpd āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ webdav āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻāĻĒāĻ˛ā§āĻĄ āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻā§āĻ¨ apache httpd āĻĒā§āĻ¸ā§āĻā§āĻ° āĻļā§āĻˇā§ āĻ˛ā§āĻāĻž āĻšāĻŦā§āĨ¤
āĻ¸ā§āĻ¤āĻ°āĻžāĻ, āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨āĻāĻŋ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° RPM āĻ¸ā§āĻā§āĻ°ā§āĻ āĻ¸āĻāĻāĻ āĻŋāĻ¤ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧāĻ¤āĻžāĻā§āĻ˛āĻŋ āĻĒā§āĻ°āĻŖ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§:
-
āĻĢā§āĻ°āĻŋ
-
āĻāĻ°ā§āĻāĻŋāĻĢā§āĻ¯āĻžāĻā§āĻ āĻ¸āĻāĻā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ā§ āĻāĻĒāĻ˛ā§āĻĄ āĻāĻ°āĻžāĻ° āĻāĻ¯āĻŧā§āĻ āĻ¸ā§āĻā§āĻ¨ā§āĻĄ āĻĒāĻ°ā§ āĻ¸āĻāĻā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ā§ āĻĒā§āĻ¯āĻžāĻā§āĻāĻāĻŋāĻ° āĻāĻĒāĻ˛āĻŦā§āĻ§āĻ¤āĻžāĨ¤
-
āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻŦāĻ āĻŦāĻāĻžāĻ¯āĻŧ āĻ°āĻžāĻāĻž āĻ¸āĻšāĻ
-
āĻāĻā§āĻ āĻĒā§āĻ°āĻžāĻĒā§āĻ¯āĻ¤āĻž āĻāĻ°āĻžāĻ° āĻā§āĻˇāĻŽāĻ¤āĻž
āĻā§āĻ¨ āĻ¨āĻž
āĻ¸ā§āĻ¨āĻž āĻāĻžāĻāĻĒ āĻ¨ā§āĻā§āĻ¸āĻžāĻ¸ āĻŦāĻžāĻ¸āĻā§āĻāĻž : -
āĻŽāĻ§ā§āĻ¯ā§ āĻ¸ā§āĻā§āĻ°ā§āĻ
āĻ¸ā§āĻ¨āĻž āĻāĻžāĻāĻĒ āĻ¨ā§āĻā§āĻ¸āĻžāĻ¸ āĻŦāĻžāĻ¸āĻā§āĻāĻž āĻ¨āĻŋāĻĻāĻ°ā§āĻļāĻ¨ āĻ āĻ¨ā§āĻ āĻ§āĻ°āĻ¨ā§āĻ° āĻ¸āĻ¤ā§āĻ¯ āĻ¯ā§ āĻŦāĻžāĻĄāĻŧā§āĻ¸ā§āĻ¨āĻž āĻāĻžāĻāĻĒ āĻ¨ā§āĻā§āĻ¸āĻžāĻ¸ āĻŦāĻžāĻ¸āĻā§āĻāĻž āĻŦā§āĻ¯āĻ°ā§āĻĨāĻ¤āĻžāĻ° āĻāĻāĻ āĻŦāĻŋāĻ¨ā§āĻĻā§ āĻšāĻ¯āĻŧā§ āĻāĻ ā§āĻ¨āĨ¤ -
āĻāĻā§āĻ āĻĒā§āĻ°āĻžāĻĒā§āĻ¯āĻ¤āĻž āĻŽāĻ§ā§āĻ¯ā§
āĻ¸ā§āĻ¨āĻž āĻāĻžāĻāĻĒ āĻ¨ā§āĻā§āĻ¸āĻžāĻ¸ āĻĒāĻ°āĻŋāĻļā§āĻ§. -
āĻ¸āĻā§āĻāĻž āĻāĻŽāĻžāĻ° āĻāĻžāĻā§ āĻāĻāĻžāĻ°-āĻāĻā§āĻāĻŋāĻ¨āĻŋāĻ¯āĻŧāĻžāĻ°āĻĄ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻŦāĻ˛ā§ āĻŽāĻ¨ā§ āĻšāĻā§āĻā§āĨ¤ -
āĻŽāĻ§ā§āĻ¯ā§ āĻ¨āĻŋāĻĻāĻ°ā§āĻļāĻ¨
āĻ¸ā§āĻ¨āĻž āĻāĻžāĻāĻĒ āĻ¨ā§āĻā§āĻ¸āĻžāĻ¸ āĻŦā§āĻ˛āĻŦā§ āĻ¸āĻāĻ°āĻā§āĻˇāĻŋāĻ¤āĨ¤ āĻšāĻ āĻžā§ āĻŦāĻŋāĻĻā§āĻ¯ā§ā§ āĻŦāĻŋāĻā§āĻ°āĻžāĻā§āĻ° āĻāĻāĻ¨āĻžāĻ¯āĻŧ, āĻāĻĒāĻ¨āĻžāĻ° āĻŦā§āĻ¯āĻžāĻāĻāĻĒ āĻ¨āĻž āĻĨāĻžāĻāĻ˛ā§ āĻāĻĒāĻ¨āĻŋ āĻŦā§āĻ˛āĻŦ āĻĒā§āĻ¨āĻ°ā§āĻĻā§āĻ§āĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŦā§āĻ¨ āĻ¨āĻžāĨ¤ āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻ āĻ¤ā§āĻ°ā§āĻāĻŋ āĻāĻŋāĻ˛:ERROR [ForkJoinPool.commonPool-worker-2] *SYSTEM [com.orientechnologies.orient.core.storage](http://com.orientechnologies.orient.core.storage/).fs.OFileClassic - $ANSI{green {db=security}} Error during data read for file 'privilege_5.pcl' 1-th attempt [java.io](http://java.io/).IOException: Bad address
. āĻŦā§āĻ˛āĻŦ āĻāĻāĻ¨āĻ āĻĒā§āĻ¨āĻ°ā§āĻĻā§āĻ§āĻžāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧāĻ¨āĻŋāĨ¤
āĻāĻ¤ā§āĻ¸ āĻā§āĻĄ
â āĻ¸ā§āĻ°ā§āĻ¸ āĻā§āĻĄāĻāĻŋ āĻ
āĻŦāĻ¸ā§āĻĨāĻŋāĻ¤
āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻ āĻāĻ āĻŽāĻ¤ āĻĻā§āĻāĻžāĻ¯āĻŧ:
#!/bin/bash
source /etc/inotify-createrepo.conf
LOGFILE=/var/log/inotify-createrepo.log
function monitoring() {
inotifywait -e close_write,delete -msrq --exclude ".repodata|.olddata|repodata" "${REPO}" | while read events
do
echo $events >> $LOGFILE
touch /tmp/need_create
done
}
function run_createrepo() {
while true; do
if [ -f /tmp/need_create ];
then
rm -f /tmp/need_create
echo "start createrepo $(date --rfc-3339=seconds)"
/usr/bin/createrepo --update "${REPO}"
echo "finish createrepo $(date --rfc-3339=seconds)"
fi
sleep 1
done
}
echo "Start filesystem monitoring: Directory is $REPO, monitor logfile is $LOGFILE"
monitoring >> $LOGFILE &
run_createrepo >> $LOGFILE &
āĻŦāĻŋāĻ¨ā§āĻ¯āĻžāĻ¸
inotify-createrepo āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° CentOS 7 āĻŦāĻž āĻ¤āĻžāĻ° āĻāĻĒāĻ°ā§ āĻāĻžāĻ āĻāĻ°ā§āĨ¤ CentOS 6 āĻ āĻāĻāĻŋ āĻāĻžāĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĻŋāĨ¤
yum -y install yum-plugin-copr
yum copr enable antonpatsev/inotify-createrepo
yum -y install inotify-createrepo
systemctl start inotify-createrepo
āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨
āĻĄāĻŋāĻĢāĻ˛ā§āĻāĻ°ā§āĻĒā§ inotify-createrepo āĻāĻāĻāĻŋ āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋ āĻ¨āĻŋāĻ°ā§āĻā§āĻˇāĻŖ āĻāĻ°ā§ /var/www/repos/rpm-repo/
.
āĻāĻĒāĻ¨āĻŋ āĻĢāĻžāĻāĻ˛āĻāĻŋāĻ¤ā§ āĻāĻ āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĻāĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ /etc/inotify-createrepo.conf.
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§āĻ°
āĻāĻāĻāĻŋ āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĻ¤ā§ āĻā§āĻ¨ā§ āĻĢāĻžāĻāĻ˛ āĻ¯ā§āĻ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ /var/www/repos/rpm-repo/
inotifywait āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻ˛ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻŦā§ /tmp/need_create
. run_createrepo āĻĢāĻžāĻāĻļāĻ¨ āĻāĻāĻāĻŋ āĻ
āĻ¸ā§āĻŽ āĻ˛ā§āĻĒā§ āĻāĻ˛ā§ āĻāĻŦāĻ āĻĢāĻžāĻāĻ˛āĻāĻŋ āĻĒāĻ°ā§āĻ¯āĻŦā§āĻā§āĻˇāĻŖ āĻāĻ°ā§ /tmp/need_create
. āĻ¯āĻĻāĻŋ āĻĢāĻžāĻāĻ˛āĻāĻŋ āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻĨāĻžāĻā§ āĻ¤āĻŦā§ āĻāĻžāĻ˛āĻžāĻ¨ createrepo --update
.
āĻĢāĻžāĻāĻ˛āĻāĻŋāĻ¤ā§ āĻāĻāĻāĻŋ āĻāĻ¨ā§āĻā§āĻ°āĻŋ āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻŋāĻ¤ āĻšāĻŦā§:
/var/www/repos/rpm-repo/ CREATE nginx-1.16.1-1.el7.ngx.x86_64.rpm
start createrepo 2020-03-02 09:46:21+03:00
Spawning worker 0 with 1 pkgs
Spawning worker 1 with 0 pkgs
Spawning worker 2 with 0 pkgs
Spawning worker 3 with 0 pkgs
Workers Finished
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete
finish createrepo 2020-03-02 09:46:22+03:00
āĻāĻā§āĻ āĻĒā§āĻ°āĻžāĻĒā§āĻ¯āĻ¤āĻž āĻāĻ°āĻžāĻ° āĻā§āĻˇāĻŽāĻ¤āĻž
āĻāĻāĻāĻŋ āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻĨā§āĻā§ āĻāĻā§āĻ āĻĒā§āĻ°āĻžāĻĒā§āĻ¯āĻ¤āĻž āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§, āĻāĻŽāĻŋ āĻŽāĻ¨ā§ āĻāĻ°āĻŋ āĻāĻĒāĻ¨āĻŋ 2āĻāĻŋ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨, HA āĻāĻ° āĻāĻ¨ā§āĻ¯ Keepalived āĻāĻŦāĻ āĻāĻ°ā§āĻāĻŋāĻĢā§āĻ¯āĻžāĻā§āĻ āĻ¸āĻŋāĻā§āĻā§āĻ°ā§āĻ¨āĻžāĻāĻā§āĻļāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ LsyncdāĨ¤
āĻ āĻŽā§āĻ°ā§
āĻĢāĻžāĻāĻ˛ āĻāĻĒāĻ˛ā§āĻĄ āĻāĻ°āĻžāĻ° āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻāĻĒāĻžāĻ¯āĻŧ āĻāĻā§: SSH, NFS, WebDavāĨ¤ WebDav āĻāĻāĻāĻŋ āĻāĻ§ā§āĻ¨āĻŋāĻ āĻāĻŦāĻ āĻ¸āĻšāĻ āĻŦāĻŋāĻāĻ˛ā§āĻĒ āĻŦāĻ˛ā§ āĻŽāĻ¨ā§ āĻšāĻā§āĻā§āĨ¤
WebDav āĻāĻ° āĻāĻ¨ā§āĻ¯, āĻāĻŽāĻ°āĻž Apache httpd āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻŦāĨ¤ āĻā§āĻ¨ 2020 āĻ¸āĻžāĻ˛ā§ Apache httpd āĻāĻŦāĻ nginx āĻ¨āĻ¯āĻŧ?
āĻāĻŽāĻŋ Nginx + āĻŽāĻĄāĻŋāĻāĻ˛ āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧ āĻ¸āĻ°āĻā§āĻāĻžāĻŽ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻāĻžāĻ (āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, Webdav)āĨ¤
Nginx + āĻŽāĻĄāĻŋāĻāĻ˛ āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻāĻ˛ā§āĻĒ āĻāĻā§ -
āĻāĻŽāĻŋ āĻāĻāĻāĻŋ āĻāĻžāĻ¨ āĻ
āĻ¨ā§āĻ°ā§āĻ§ āĻāĻ°ā§āĻāĻŋ
config webdav.conf
DavLockDB /var/www/html/DavLock
<VirtualHost localhost:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ErrorLog /var/log/httpd/error.log
CustomLog /var/log/httpd/access.log combined
Alias /rpm /var/www/repos/rpm-repo
<Directory /var/www/repos/rpm-repo>
DAV On
Options Indexes FollowSymlinks SymLinksifOwnerMatch IncludesNOEXEC
IndexOptions NameWidth=* DescriptionWidth=*
AllowOverride none
Require all granted
</Directory>
</VirtualHost>
āĻāĻŽāĻŋ āĻŽāĻ¨ā§ āĻāĻ°āĻŋ āĻāĻĒāĻ¨āĻŋ āĻŦāĻžāĻāĻŋ Apache httpd āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ āĻ¨āĻŋāĻā§āĻ āĻāĻ°āĻŦā§āĻ¨āĨ¤
Apache httpd āĻāĻ° āĻ¸āĻžāĻŽāĻ¨ā§ Nginx
Apache āĻāĻ° āĻŦāĻŋāĻĒāĻ°ā§āĻ¤ā§, Nginx āĻāĻāĻāĻŋ āĻāĻā§āĻ¨ā§āĻ-āĻāĻŋāĻ¤ā§āĻ¤āĻŋāĻ āĻ āĻ¨ā§āĻ°ā§āĻ§ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻ°āĻŖ āĻŽāĻĄā§āĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§, āĻ¯āĻžāĻ° āĻŽāĻžāĻ¨ā§ āĻšāĻ˛ āĻ¯ā§ āĻā§āĻ¨ā§ āĻ¸āĻāĻā§āĻ¯āĻ āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻāĻāĻŋ HTTP āĻ¸āĻžāĻ°ā§āĻāĻžāĻ° āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨āĨ¤ āĻāĻĒāĻ¨āĻŋ nginx āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ āĻāĻŦāĻ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ° āĻ˛ā§āĻĄ āĻāĻŽāĻžāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤
nginx-front.conf āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨āĨ¤ āĻāĻŽāĻŋ āĻŽāĻ¨ā§ āĻāĻ°āĻŋ āĻāĻĒāĻ¨āĻŋ āĻŦāĻžāĻāĻŋ nginx āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ āĻ¨āĻŋāĻā§āĻ āĻāĻ°āĻŦā§āĻ¨āĨ¤
upstream nginx_front {
server localhost:80;
}
server {
listen 443 ssl;
server_name ваŅ-виŅŅŅĐ°ĐģŅĐŊŅŅ
-Ņ
ĐžŅŅ;
access_log /var/log/nginx/nginx-front-access.log main;
error_log /var/log/nginx/nginx-front.conf-error.log warn;
location / {
proxy_pass http://nginx_front;
}
}
WebDav āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻĢāĻžāĻāĻ˛ āĻĄāĻžāĻāĻ¨āĻ˛ā§āĻĄ āĻāĻ°āĻž āĻšāĻā§āĻā§
āĻāĻ°āĻĒāĻŋāĻāĻŽ āĻĄāĻžāĻāĻ¨āĻ˛ā§āĻĄ āĻāĻ°āĻž āĻā§āĻŦāĻ āĻ¸āĻšāĻāĨ¤
curl -T ./nginx-1.16.1-1.el7.ngx.x86_64.rpm https://ваŅ-виŅŅŅĐ°ĐģŅĐŊŅĐš-Ņ
ĐžŅŅ/rpm/
āĻāĻ¤ā§āĻ¸: www.habr.com