{"id":1092,"date":"2017-09-05T11:15:07","date_gmt":"2017-09-05T06:15:07","guid":{"rendered":"http:\/\/alexeyka.zantsev.com\/?p=1092"},"modified":"2017-09-05T11:42:08","modified_gmt":"2017-09-05T06:42:08","slug":"pbx-backup-script","status":"publish","type":"post","link":"https:\/\/alexeyka.zantsev.com\/?p=1092","title":{"rendered":"PBX backup script"},"content":{"rendered":"<pre>\r\n#!\/bin\/bash\r\n\r\n#***************************************#\r\n#*****http:\/\/alexeyka.zantsev.com\/******#\r\n#***************************************#\r\n\r\nBACKUP_DIR=\/home\/user\/PBX_BACKUPS\r\nTAR=\"\/bin\/tar -czf\"\r\nDATE=$(date +%Y-%m-%d)\r\nCDRDAY=$(date +%d)\r\nSQLDUMP=\"\/usr\/bin\/mysqldump\"\r\nSRVNAME=pbx_\r\n\r\n#------------------------------------------------\r\n# function for backup routine\r\nbkuper ()\r\n{\r\n\t# 1. cd to dir\r\n\tcd $BACKUP_DIR\r\n\tmkdir BACKUP\r\n\r\n\t# 2. copy mission-critical shit\r\n\tfor i in \/etc\/asterisk\/ \/etc\/lighttpd\/lighttpd.conf \/etc\/odbc.ini \/etc\/odbcinst.ini \/var\/scripts\/ ;\r\n\tdo\r\n\t\t\/bin\/cp -r $i BACKUP\/\r\n\tdone\r\n\r\n\t# 3. CDR SQL dump on 28 day monthly\r\n\tif [ $CDRDAY == 28 ]\r\n\tthen\r\n\t\t$SQLDUMP -u root -pRoOtPaSsWoRd db_asterisk_cdr > BACKUP\/db_asterisk_cdr.$DATE.sql\r\n\tfi\r\n\r\n\t# 4. archivate\r\n\t$TAR $SRVNAME$DATE.tar.gz BACKUP\/\r\n\r\n\t# 5. delete shit\r\n\t\/bin\/rm -rf BACKUP\/\r\n}\r\n#------------------------------------------------\r\n\r\n# fire!\r\nif [ -d $BACKUP_DIR ]\r\n    then\r\n\tbkuper\r\n    else\r\n\t\/bin\/mkdir $BACKUP_DIR\r\n\tbkuper\r\nfi\r\n\r\n# remove older than 30 days old backups\r\nfind $BACKUP_DIR -type f -name \"*z\" -mtime +30 -execdir rm -f {} \\;\r\n\r\nexit $?\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>#!\/bin\/bash #***************************************# #*****http:\/\/alexeyka.zantsev.com\/******# #***************************************# BACKUP_DIR=\/home\/user\/PBX_BACKUPS TAR=&#8221;\/bin\/tar -czf&#8221; DATE=$(date +%Y-%m-%d) CDRDAY=$(date +%d) SQLDUMP=&#8221;\/usr\/bin\/mysqldump&#8221; SRVNAME=pbx_ #&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; # function for backup routine bkuper () { # 1. cd to dir cd $BACKUP_DIR mkdir BACKUP # 2. copy mission-critical shit for i in \/etc\/asterisk\/ \/etc\/lighttpd\/lighttpd.conf \/etc\/odbc.ini \/etc\/odbcinst.ini \/var\/scripts\/ ; do \/bin\/cp -r $i BACKUP\/ done # 3. CDR SQL [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[106,102],"class_list":["post-1092","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-backup","tag-bash"],"_links":{"self":[{"href":"https:\/\/alexeyka.zantsev.com\/index.php?rest_route=\/wp\/v2\/posts\/1092","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/alexeyka.zantsev.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/alexeyka.zantsev.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/alexeyka.zantsev.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/alexeyka.zantsev.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1092"}],"version-history":[{"count":4,"href":"https:\/\/alexeyka.zantsev.com\/index.php?rest_route=\/wp\/v2\/posts\/1092\/revisions"}],"predecessor-version":[{"id":1099,"href":"https:\/\/alexeyka.zantsev.com\/index.php?rest_route=\/wp\/v2\/posts\/1092\/revisions\/1099"}],"wp:attachment":[{"href":"https:\/\/alexeyka.zantsev.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1092"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/alexeyka.zantsev.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1092"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/alexeyka.zantsev.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1092"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}